Skip to content
Snippets Groups Projects
Commit 281bb559 authored by Dyszczo's avatar Dyszczo
Browse files

Merge branch 'bugfix/multipl-wc-capture' into 'master'

PB-587 Fatal przy nadawaniu przesyłki - multiple wc capture

See merge request !12
parents 59dd4a5a e60c3ecd
No related branches found
No related tags found
1 merge request!12PB-587 Fatal przy nadawaniu przesyłki - multiple wc capture
Pipeline #6806 passed
## [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
......
......@@ -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;
......
......@@ -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;
......
......@@ -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 {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment