diff --git a/src/SimpleLoggerFactory.php b/src/SimpleLoggerFactory.php index 4e59eb8d329881d4c11f66ffb858eee29ebaba75..afce5f163ba8770921043859d6d77a2c30edd3e6 100644 --- a/src/SimpleLoggerFactory.php +++ b/src/SimpleLoggerFactory.php @@ -46,7 +46,7 @@ final class SimpleLoggerFactory implements LoggerFactory { private function get_wc_handler(): HandlerInterface { if ( function_exists( 'wc_get_logger' ) ) { - return new WooCommerceHandler( wc_get_logger(), $this->options->level ); + return new WooCommerceHandler( wc_get_logger(), $this->channel ); } return new NullHandler(); diff --git a/src/WC/WooCommerceHandler.php b/src/WC/WooCommerceHandler.php index 9e6da943195898ab1a655833d86de8e10b980306..960f9df6ce291a4054883ac33f03141df68b857a 100644 --- a/src/WC/WooCommerceHandler.php +++ b/src/WC/WooCommerceHandler.php @@ -9,36 +9,43 @@ use Monolog\Logger; * Class WooCommerceFactory */ class WooCommerceHandler extends AbstractProcessingHandler { - const DEFAULT_WC_SOURCE = 'wpdesk-logger'; + const DEFAULT_WC_SOURCE = 'wpdesk-logger'; /** @var \WC_Logger_Interface */ private $wc_logger; - /** - * Writes the record down to the log of the implementing handler - * - * @param array $record - * @return void - */ - protected function write(array $record) - { - $context = array_merge([ - 'source' => self::DEFAULT_WC_SOURCE - ], $record['extra'], $record['context']); - - $this->wc_logger->log($this->convertMonologLevelToWC($record['level']), $record['message'], $context); + /** @var string */ + private $channel; + + /** + * Writes the record down to the log of the implementing handler + * + * @param array $record + * @return void + */ + protected function write( array $record ) { + $context = array_merge( + [ + 'source' => $this->channel;, + ], + $record['extra'], + $record['context'] + ); + + $this->wc_logger->log( $this->convertMonologLevelToWC( $record['level'] ), $record['message'], $context ); } - /** - * @param int $level - * @return string - */ - private function convertMonologLevelToWC($level) { - return Logger::getLevelName($level); - } + /** + * @param int $level + * @return string + */ + private function convertMonologLevelToWC( $level ) { + return Logger::getLevelName( $level ); + } - public function __construct(\WC_Logger_Interface $originalWcLogger) { + public function __construct( \WC_Logger_Interface $originalWcLogger, string $channel = self::DEFAULT_WC_SOURCE ) { parent::__construct(); $this->wc_logger = $originalWcLogger; + $this->channel = $channel; } }