Skip to content
Snippets Groups Projects
Verified Commit 78dc5eeb authored by Bartek Jaskulski's avatar Bartek Jaskulski
Browse files

fix: add option for setting channel in WooCommerce logger

parent dabf6516
No related branches found
No related tags found
1 merge request!19Bugfix/default channel
Pipeline #7592 passed
...@@ -46,7 +46,7 @@ final class SimpleLoggerFactory implements LoggerFactory { ...@@ -46,7 +46,7 @@ final class SimpleLoggerFactory implements LoggerFactory {
private function get_wc_handler(): HandlerInterface { private function get_wc_handler(): HandlerInterface {
if ( function_exists( 'wc_get_logger' ) ) { 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(); return new NullHandler();
......
...@@ -14,17 +14,23 @@ class WooCommerceHandler extends AbstractProcessingHandler { ...@@ -14,17 +14,23 @@ class WooCommerceHandler extends AbstractProcessingHandler {
/** @var \WC_Logger_Interface */ /** @var \WC_Logger_Interface */
private $wc_logger; private $wc_logger;
/** @var string */
private $channel;
/** /**
* Writes the record down to the log of the implementing handler * Writes the record down to the log of the implementing handler
* *
* @param array $record * @param array $record
* @return void * @return void
*/ */
protected function write(array $record) protected function write( array $record ) {
{ $context = array_merge(
$context = array_merge([ [
'source' => self::DEFAULT_WC_SOURCE 'source' => $this->channel;,
], $record['extra'], $record['context']); ],
$record['extra'],
$record['context']
);
$this->wc_logger->log( $this->convertMonologLevelToWC( $record['level'] ), $record['message'], $context ); $this->wc_logger->log( $this->convertMonologLevelToWC( $record['level'] ), $record['message'], $context );
} }
...@@ -37,8 +43,9 @@ class WooCommerceHandler extends AbstractProcessingHandler { ...@@ -37,8 +43,9 @@ class WooCommerceHandler extends AbstractProcessingHandler {
return Logger::getLevelName( $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(); parent::__construct();
$this->wc_logger = $originalWcLogger; $this->wc_logger = $originalWcLogger;
$this->channel = $channel;
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment