From db8130ce83e4754708d6a4f5af06dd226aa01f4d Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Fri, 12 Oct 2018 11:59:23 -0700 Subject: [PATCH 1/4] Add ProcessorInterface, an optional one to allow labelling Monolog processors --- src/Monolog/Processor/GitProcessor.php | 2 +- .../Processor/IntrospectionProcessor.php | 2 +- src/Monolog/Processor/MemoryProcessor.php | 2 +- src/Monolog/Processor/MercurialProcessor.php | 2 +- src/Monolog/Processor/ProcessIdProcessor.php | 2 +- src/Monolog/Processor/ProcessorInterface.php | 25 +++++++++++++++++++ .../Processor/PsrLogMessageProcessor.php | 2 +- src/Monolog/Processor/TagProcessor.php | 2 +- src/Monolog/Processor/UidProcessor.php | 2 +- src/Monolog/Processor/WebProcessor.php | 2 +- 10 files changed, 34 insertions(+), 9 deletions(-) create mode 100644 src/Monolog/Processor/ProcessorInterface.php diff --git a/src/Monolog/Processor/GitProcessor.php b/src/Monolog/Processor/GitProcessor.php index 1899400d..9fc3f50f 100644 --- a/src/Monolog/Processor/GitProcessor.php +++ b/src/Monolog/Processor/GitProcessor.php @@ -19,7 +19,7 @@ use Monolog\Logger; * @author Nick Otter * @author Jordi Boggiano */ -class GitProcessor +class GitProcessor implements ProcessorInterface { private $level; private static $cache; diff --git a/src/Monolog/Processor/IntrospectionProcessor.php b/src/Monolog/Processor/IntrospectionProcessor.php index 2c07caed..6ae192a2 100644 --- a/src/Monolog/Processor/IntrospectionProcessor.php +++ b/src/Monolog/Processor/IntrospectionProcessor.php @@ -24,7 +24,7 @@ use Monolog\Logger; * * @author Jordi Boggiano */ -class IntrospectionProcessor +class IntrospectionProcessor implements ProcessorInterface { private $level; diff --git a/src/Monolog/Processor/MemoryProcessor.php b/src/Monolog/Processor/MemoryProcessor.php index 73f132d7..2a379a30 100644 --- a/src/Monolog/Processor/MemoryProcessor.php +++ b/src/Monolog/Processor/MemoryProcessor.php @@ -16,7 +16,7 @@ namespace Monolog\Processor; * * @author Rob Jensen */ -abstract class MemoryProcessor +abstract class MemoryProcessor implements ProcessorInterface { /** * @var bool If true, get the real size of memory allocated from system. Else, only the memory used by emalloc() is reported. diff --git a/src/Monolog/Processor/MercurialProcessor.php b/src/Monolog/Processor/MercurialProcessor.php index 7c07a7e9..2f5b3265 100644 --- a/src/Monolog/Processor/MercurialProcessor.php +++ b/src/Monolog/Processor/MercurialProcessor.php @@ -18,7 +18,7 @@ use Monolog\Logger; * * @author Jonathan A. Schweder */ -class MercurialProcessor +class MercurialProcessor implements ProcessorInterface { private $level; private static $cache; diff --git a/src/Monolog/Processor/ProcessIdProcessor.php b/src/Monolog/Processor/ProcessIdProcessor.php index 9d3f5590..66b80fbb 100644 --- a/src/Monolog/Processor/ProcessIdProcessor.php +++ b/src/Monolog/Processor/ProcessIdProcessor.php @@ -16,7 +16,7 @@ namespace Monolog\Processor; * * @author Andreas Hörnicke */ -class ProcessIdProcessor +class ProcessIdProcessor implements ProcessorInterface { /** * @param array $record diff --git a/src/Monolog/Processor/ProcessorInterface.php b/src/Monolog/Processor/ProcessorInterface.php new file mode 100644 index 00000000..7e64d4df --- /dev/null +++ b/src/Monolog/Processor/ProcessorInterface.php @@ -0,0 +1,25 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Processor; + +/** + * An optional interface to allow labelling Monolog processors. + * + * @author Nicolas Grekas + */ +interface ProcessorInterface +{ + /** + * @return array The processed records + */ + public function __invoke(array $records); +} diff --git a/src/Monolog/Processor/PsrLogMessageProcessor.php b/src/Monolog/Processor/PsrLogMessageProcessor.php index c2686ce5..00a1c03b 100644 --- a/src/Monolog/Processor/PsrLogMessageProcessor.php +++ b/src/Monolog/Processor/PsrLogMessageProcessor.php @@ -18,7 +18,7 @@ namespace Monolog\Processor; * * @author Jordi Boggiano */ -class PsrLogMessageProcessor +class PsrLogMessageProcessor implements ProcessorInterface { /** * @param array $record diff --git a/src/Monolog/Processor/TagProcessor.php b/src/Monolog/Processor/TagProcessor.php index 7e2df2ac..615a4d99 100644 --- a/src/Monolog/Processor/TagProcessor.php +++ b/src/Monolog/Processor/TagProcessor.php @@ -16,7 +16,7 @@ namespace Monolog\Processor; * * @author Martijn Riemers */ -class TagProcessor +class TagProcessor implements ProcessorInterface { private $tags; diff --git a/src/Monolog/Processor/UidProcessor.php b/src/Monolog/Processor/UidProcessor.php index 812707cd..c8d818b1 100644 --- a/src/Monolog/Processor/UidProcessor.php +++ b/src/Monolog/Processor/UidProcessor.php @@ -16,7 +16,7 @@ namespace Monolog\Processor; * * @author Simon Mönch */ -class UidProcessor +class UidProcessor implements ProcessorInterface { private $uid; diff --git a/src/Monolog/Processor/WebProcessor.php b/src/Monolog/Processor/WebProcessor.php index ea1d8978..684188f6 100644 --- a/src/Monolog/Processor/WebProcessor.php +++ b/src/Monolog/Processor/WebProcessor.php @@ -16,7 +16,7 @@ namespace Monolog\Processor; * * @author Jordi Boggiano */ -class WebProcessor +class WebProcessor implements ProcessorInterface { /** * @var array|\ArrayAccess From 916b034b2b2e33ce4981e0e54389e85eb777bed4 Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Sun, 4 Nov 2018 16:52:06 +0100 Subject: [PATCH 2/4] Add support for passing sentry contexts through monolog context or extra, closes #1214 --- src/Monolog/Handler/RavenHandler.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Monolog/Handler/RavenHandler.php b/src/Monolog/Handler/RavenHandler.php index 34ff0091..92cc551b 100644 --- a/src/Monolog/Handler/RavenHandler.php +++ b/src/Monolog/Handler/RavenHandler.php @@ -216,7 +216,7 @@ class RavenHandler extends AbstractProcessingHandler */ protected function getExtraParameters() { - return array('checksum', 'release', 'event_id'); + return array('contexts', 'checksum', 'release', 'event_id'); } /** From e11012dfdebdf0a046cc702a92b25ff8c1dfef25 Mon Sep 17 00:00:00 2001 From: Ramil Valitov Date: Fri, 2 Nov 2018 02:52:50 +0300 Subject: [PATCH 3/4] [fix] change private vars to protected --- src/Monolog/Handler/RavenHandler.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Monolog/Handler/RavenHandler.php b/src/Monolog/Handler/RavenHandler.php index 92cc551b..250f0030 100644 --- a/src/Monolog/Handler/RavenHandler.php +++ b/src/Monolog/Handler/RavenHandler.php @@ -27,7 +27,7 @@ class RavenHandler extends AbstractProcessingHandler /** * Translates Monolog log levels to Raven log levels. */ - private $logLevels = array( + protected $logLevels = array( Logger::DEBUG => Raven_Client::DEBUG, Logger::INFO => Raven_Client::INFO, Logger::NOTICE => Raven_Client::INFO, @@ -42,7 +42,7 @@ class RavenHandler extends AbstractProcessingHandler * @var string should represent the current version of the calling * software. Can be any string (git commit, version number) */ - private $release; + protected $release; /** * @var Raven_Client the client object that sends the message to the server From dd144f7fa2f0bf8ea887370aa74d994ad45c0164 Mon Sep 17 00:00:00 2001 From: Matt K Date: Sun, 4 Nov 2018 17:16:31 +0100 Subject: [PATCH 4/4] Added ability to pass in host parameter for LogEntriesHandler, closes #1174, fixes #1173 --- src/Monolog/Handler/LogEntriesHandler.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Monolog/Handler/LogEntriesHandler.php b/src/Monolog/Handler/LogEntriesHandler.php index 494c605b..ea89fb3e 100644 --- a/src/Monolog/Handler/LogEntriesHandler.php +++ b/src/Monolog/Handler/LogEntriesHandler.php @@ -31,13 +31,13 @@ class LogEntriesHandler extends SocketHandler * * @throws MissingExtensionException If SSL encryption is set to true and OpenSSL is missing */ - public function __construct($token, $useSSL = true, $level = Logger::DEBUG, $bubble = true) + public function __construct($token, $useSSL = true, $level = Logger::DEBUG, $bubble = true, $host = 'data.logentries.com') { if ($useSSL && !extension_loaded('openssl')) { throw new MissingExtensionException('The OpenSSL PHP plugin is required to use SSL encrypted connection for LogEntriesHandler'); } - $endpoint = $useSSL ? 'ssl://data.logentries.com:443' : 'data.logentries.com:80'; + $endpoint = $useSSL ? 'ssl://' . $host . ':443' : $host . ':80'; parent::__construct($endpoint, $level, $bubble); $this->logToken = $token; }