From 5482c28a049e4500b985e5f5b54ed51a51d53c5c Mon Sep 17 00:00:00 2001
From: dyszczo <krzysiek@inspirelabs.pl>
Date: Mon, 6 May 2019 16:12:11 +0200
Subject: [PATCH] =?UTF-8?q?PB-587=20Fatal=20przy=20nadawaniu=20przesy?=
 =?UTF-8?q?=C5=82ki=20-=20multiple=20wc=20capture?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 CHANGELOG.md                        | 4 ++++
 src/WC/WooCommerceMonologPlugin.php | 2 +-
 src/WPDeskLoggerFactory.php         | 5 +++--
 3 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 484887e..c4bca55 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## [1.5.4] - 2019-05-06
+### Fixed
+- Exception: must be an instance of WC_Logger, instance of WPDesk\Logger\WC\WooCommerceMonologPlugin given
+
 ## [1.5.3] - 2019-04-25
 ### Fixed
 - Exception while trying to disable log
diff --git a/src/WC/WooCommerceMonologPlugin.php b/src/WC/WooCommerceMonologPlugin.php
index 44a504c..b70669a 100644
--- a/src/WC/WooCommerceMonologPlugin.php
+++ b/src/WC/WooCommerceMonologPlugin.php
@@ -21,7 +21,7 @@ class WooCommerceMonologPlugin implements \WC_Logger_Interface
     /** @var \WC_Logger */
     private $originalWCLogger;
 
-    public function __construct(Logger $monolog, \WC_Logger $originalLogger)
+    public function __construct(Logger $monolog, \WC_Logger_Interface $originalLogger)
     {
         $this->monolog = $monolog;
         $this->originalWCLogger = $originalLogger;
diff --git a/src/WPDeskLoggerFactory.php b/src/WPDeskLoggerFactory.php
index 16727c8..823218f 100644
--- a/src/WPDeskLoggerFactory.php
+++ b/src/WPDeskLoggerFactory.php
@@ -69,7 +69,7 @@ class WPDeskLoggerFactory extends BasicLoggerFactory
      * Assumptions:
      * - logger is actively working when 'wpdesk_helper_options' has 'debug_log' set to '1';
      * - fatal errors, exception and standard errors are recorded but in a transparent way;
-     * - WooCommerce logger is captured and returns this logger;
+     * - WooCommerce logger is captured and returns this logger; That is true of default logger is instantiated.
      * - logs are still correctly written to WooCommerce subsystem in a transparent way;
      * - all recorded errors are written to WPDesk file.
      *
@@ -87,10 +87,11 @@ class WPDeskLoggerFactory extends BasicLoggerFactory
         }
         $logger = $this->createLogger($name);
 
-        $this->captureWooCommerce($logger);
         $this->appendMainLog($logger);
         if ($name !== self::DEFAULT_LOGGER_CHANNEL_NAME) {
             $this->appendFileLog($logger, $this->getFileName($name));
+        } else {
+            $this->captureWooCommerce($logger);
         }
 
         return $logger;
-- 
GitLab