From 11675bda51966fa1aa167dcce24fad183a35ea6e Mon Sep 17 00:00:00 2001
From: Bart Jaskulski <bjaskulski@protonmail.com>
Date: Sat, 20 Jul 2024 02:39:17 +0200
Subject: [PATCH] feat: use WordPress log as fallback

Following previous commit, remove check for WP log usage, and treat it
only as fallback handler.

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

diff --git a/src/SimpleLoggerFactory.php b/src/SimpleLoggerFactory.php
index ddd46bb..86c2a6f 100644
--- a/src/SimpleLoggerFactory.php
+++ b/src/SimpleLoggerFactory.php
@@ -44,9 +44,13 @@ final class SimpleLoggerFactory implements LoggerFactory {
 			\add_action( 'woocommerce_init', [ $this, 'create_wc_handler' ] );
 		}
 
-		// Adding WooCommerce logger may have failed, if so add WP by default.
-		if ( empty( $this->logger->getHandlers() ) ) {
-			$this->logger->pushHandler( $this->get_wp_handler() );
+		// In the worst-case scenario, when WC logs are not available (yet, or at all),
+		// fallback to WP logs, but only when enabled.
+		if ( empty( $this->logger->getHandlers() ) && defined( 'WP_DEBUG_LOG' ) && WP_DEBUG_LOG ) {
+			$this->set_handler(
+				$this->logger,
+				new ErrorLogHandler( ErrorLogHandler::OPERATING_SYSTEM, $this->options['level'] );
+			);
 		}
 
 		return $this->logger;
-- 
GitLab