Skip to content
Snippets Groups Projects
Verified Commit 06402912 authored by Bartek Jaskulski's avatar Bartek Jaskulski
Browse files

feat: improve integration with wpdesk/wp-logs

parent f204711e
No related branches found
No related tags found
2 merge requests!5feat: remove compilation command,!4feat: remove compilation command
......@@ -49,11 +49,13 @@
"wpdesk/wp-code-sniffer": "^1.3"
},
"suggest": {
"wpdesk/wp-basic-requirements": "Enables your plugin to check an environment requirement before instantiation, e.g. PHP version or active plugins"
"wpdesk/wp-basic-requirements": "Enables your plugin to check an environment requirement before instantiation, e.g. PHP version or active plugins",
"wpdesk/wp-logs": "PSR-3 compatible logger with WooCommerce handler."
},
"conflict": {
"wpdesk/wp-basic-requirements": "<3 >=4",
"wpdesk/wp-wpdesk-license": "<4 >=5"
"wpdesk/wp-wpdesk-license": "<4 >=5",
"wpdesk/wp-logs": "<1.13 >=2"
},
"scripts": {
"test": "vendor/bin/phpunit --bootstrap tests/bootstrap.php ./tests"
......
......@@ -5,10 +5,6 @@ declare(strict_types=1);
namespace WPDesk\Init\Extension;
use DI\Definition\Helper\AutowireDefinitionHelper;
use Monolog\Formatter\LineFormatter;
use Monolog\Logger;
use Monolog\Processor\PsrLogMessageProcessor;
use Monolog\Processor\UidProcessor;
use Psr\Container\ContainerInterface;
use Psr\Log\LoggerInterface;
use WPDesk\Init\Binding\Loader\ArrayDefinitions;
......@@ -19,7 +15,7 @@ use WPDesk\Init\Extension\CommonBinding\RequirementsCheck;
use WPDesk\Init\Extension\CommonBinding\WPDeskLicenseBridge;
use WPDesk\Init\Extension\CommonBinding\WPDeskTrackerBridge;
use WPDesk\Init\Plugin\Plugin;
use WPDesk\Logger\WC\WooCommerceHandler;
use WPDesk\Logger\SimpleLoggerFactory;
class ConditionalExtension implements Extension {
......@@ -58,29 +54,17 @@ class ConditionalExtension implements Extension {
$definitions[ WPDeskTrackerBridge::class ] = new AutowireDefinitionHelper();
}
if ( class_exists( \WPDesk\Logger\WC\WooCommerceHandler::class ) ) {
$definitions[ LoggerInterface::class ] = static function () use ( $plugin ) {
$logger = new Logger(
$plugin->get_slug(),
[],
[ new PsrLogMessageProcessor( null, true ), new UidProcessor() ]
);
$attach_handler = function () use ( $logger, $plugin ) {
$handler = new WooCommerceHandler( wc_get_logger(), $plugin->get_slug() );
$handler->setFormatter(
new LineFormatter( '%channel%.%level_name% [%extra.uid%]: %message% %context% %extra%' )
);
$logger->pushHandler( $handler );
};
if ( \function_exists( 'wc_get_logger' ) ) {
$attach_handler();
} else {
\add_action( 'woocommerce_init', $attach_handler );
}
return $logger;
if ( class_exists( \WPDesk\Logger\SimpleLoggerFactory::class ) ) {
$definitions[ LoggerInterface::class ] = static function ( ContainerInterface $c ) {
$p = $c->get( Plugin::class );
return ( new SimpleLoggerFactory(
$p->get_slug(),
[
'level' => $c->has( 'logger.level' ) ? $c->get( 'logger.level' ) : 'debug',
'action_level' => $c->has( 'logger.action_level' ) ? $c->get( 'logger.action_level' ) : null,
]
) )->getLogger();
};
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment