diff --git a/CHANGELOG.md b/CHANGELOG.md index 484887e7a07bfc11f13261b25867f83687e2586f..c4bca5532938140ce5f7fd07a596d821222b5f2a 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 44a504c1b9096f9b3219bc5bbe64644bd339f1b6..b70669afeac759f181094adb400c962c96696f7a 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 16727c8571906997cd328cfafca64c7105d5df20..823218f5eaff0c428ce581886fbfdf4cb1a3f995 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; diff --git a/tests/integration/TestWPDeskLoggerFactory.php b/tests/integration/TestWPDeskLoggerFactory.php index 3db326cad8f1f860e14b466c9703290db700af03..6e74706613d8a465cb6b12ccb021b523d03ab9a9 100644 --- a/tests/integration/TestWPDeskLoggerFactory.php +++ b/tests/integration/TestWPDeskLoggerFactory.php @@ -2,7 +2,7 @@ use Monolog\Handler\AbstractHandler; use Monolog\Logger; -use PHPUnit\Framework\Error\Notice; +use Monolog\Registry; use WPDesk\Logger\WC\WooCommerceCapture; use WPDesk\Logger\WC\WooCommerceMonologPlugin; use WPDesk\Logger\WPDeskLoggerFactory; @@ -82,9 +82,10 @@ class TestWPDeskLoggerFactory extends WP_UnitTestCase public function testOurLogsGetAllMessagesLoggedToWC() { + Registry::clear(); if (WooCommerceCapture::isSupportedWCVersion()) { $someMessage = 'whatever'; - $logger = (new WPDeskLoggerFactory())->createWPDeskLogger(self::LOGGER_NAME); + $logger = (new WPDeskLoggerFactory())->createWPDeskLogger(); $logger->pushHandler($this->prepareListenHandleThatIsWaitingForMessage($someMessage)); wc_get_logger()->debug($someMessage); @@ -119,6 +120,7 @@ class TestWPDeskLoggerFactory extends WP_UnitTestCase public function testAllLoggedMessagesAreWrittenToWC() { + Registry::clear(); if (WooCommerceCapture::isSupportedWCVersion()) { $mockWcLogger = $this->createMock(WC_Logger::class); $mockWcLogger @@ -131,7 +133,7 @@ class TestWPDeskLoggerFactory extends WP_UnitTestCase }, 0, 100); $someMessage = 'whatever'; - $logger = (new WPDeskLoggerFactory())->createWPDeskLogger(self::LOGGER_NAME); + $logger = (new WPDeskLoggerFactory())->createWPDeskLogger(); $logger->debug($someMessage); } else {