diff --git a/src/SimpleLoggerFactory.php b/src/SimpleLoggerFactory.php index cfd2c0dff1d4af4e7d04c14150a7d1793171af3b..c591f69dac40ea20da7c69ad332c24bba87ed48f 100644 --- a/src/SimpleLoggerFactory.php +++ b/src/SimpleLoggerFactory.php @@ -3,6 +3,7 @@ declare( strict_types=1 ); namespace WPDesk\Logger; +use Monolog\Formatter\LineFormatter; use Monolog\Handler\HandlerInterface; use Monolog\Handler\NullHandler; use Monolog\Logger; @@ -33,19 +34,21 @@ final class SimpleLoggerFactory implements LoggerFactory { $logger = new Logger( $this->channel ); if ( $this->options->use_wc_log && \function_exists( 'wc_get_logger' ) ) { - $logger->pushHandler( - new WooCommerceHandler( - \wc_get_logger(), - $this->channel - ) - ); + $handler = new WooCommerceHandler( \wc_get_logger(), $this->channel ); } // Adding WooCommerce logger may have failed, if so add WP by default. if ( $this->options->use_wp_log || empty( $logger->getHandlers() ) ) { - $logger->pushHandler( $this->get_wp_handler() ); + $handler = $this->get_wp_handler(); } + $request_id = uniqid('', true); + $handler->setFormatter( + new LineFormatter( "[%datetime%] %channel%.%level_name%: %message% %context% %extra%, requestId: $request_id" ) + ); + + $logger->pushHandler( $handler ); + return $this->logger = $logger; }