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

feat: add request id to logs


To enhance debugging experience each logged line should contain id for
current request. With such format it will be easier to identify all
messages coming from single request. Having id enables `grep`-friendly
output.

Signed-off-by: default avatarBart Jaskulski <bartek.jaskulski@wpdesk.net>
parent 53d172c0
Branches
No related tags found
1 merge request!25feat: add request id to logs
Pipeline #133390 passed
...@@ -3,6 +3,7 @@ declare( strict_types=1 ); ...@@ -3,6 +3,7 @@ declare( strict_types=1 );
namespace WPDesk\Logger; namespace WPDesk\Logger;
use Monolog\Formatter\LineFormatter;
use Monolog\Handler\HandlerInterface; use Monolog\Handler\HandlerInterface;
use Monolog\Handler\NullHandler; use Monolog\Handler\NullHandler;
use Monolog\Logger; use Monolog\Logger;
...@@ -33,19 +34,21 @@ final class SimpleLoggerFactory implements LoggerFactory { ...@@ -33,19 +34,21 @@ final class SimpleLoggerFactory implements LoggerFactory {
$logger = new Logger( $this->channel ); $logger = new Logger( $this->channel );
if ( $this->options->use_wc_log && \function_exists( 'wc_get_logger' ) ) { if ( $this->options->use_wc_log && \function_exists( 'wc_get_logger' ) ) {
$logger->pushHandler( $handler = new WooCommerceHandler( \wc_get_logger(), $this->channel );
new WooCommerceHandler(
\wc_get_logger(),
$this->channel
)
);
} }
// Adding WooCommerce logger may have failed, if so add WP by default. // Adding WooCommerce logger may have failed, if so add WP by default.
if ( $this->options->use_wp_log || empty( $logger->getHandlers() ) ) { 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; return $this->logger = $logger;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment