From c1be647dd5350d6eae5686c62591dc1bdc186c07 Mon Sep 17 00:00:00 2001
From: Bart Jaskulski <bjaskulski@protonmail.com>
Date: Sat, 20 Jul 2024 02:25:30 +0200
Subject: [PATCH] feat: process messages according to PSR-3

Add PSR processor, to handle inline variables in log statements, like
"Registering user {id} with name {full_name}".

https://www.php-fig.org/psr/psr-3/#12-message

Signed-off-by: Bart Jaskulski <bjaskulski@protonmail.com>
---
 src/SimpleLoggerFactory.php | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/SimpleLoggerFactory.php b/src/SimpleLoggerFactory.php
index 432be72..eb410a8 100644
--- a/src/SimpleLoggerFactory.php
+++ b/src/SimpleLoggerFactory.php
@@ -7,6 +7,7 @@ use Monolog\Handler\HandlerInterface;
 use Monolog\Handler\NullHandler;
 use Monolog\Logger;
 use Monolog\Handler\ErrorLogHandler;
+use Monolog\Processor\PsrLogMessageProcessor;
 use WPDesk\Logger\WC\WooCommerceHandler;
 
 final class SimpleLoggerFactory implements LoggerFactory {
@@ -30,7 +31,11 @@ final class SimpleLoggerFactory implements LoggerFactory {
 			return $this->logger;
 		}
 
-		$this->logger = new Logger( $this->channel );
+		$this->logger = new Logger(
+			$this->channel,
+			[],
+			[ new PsrLogMessageProcessor( null, true ) ]
+		);
 
 		if ( $this->options->use_wc_log ) {
 			if ( \function_exists( 'wc_get_logger' ) && \did_action( 'woocommerce_init' ) ) {
-- 
GitLab