diff --git a/composer.json b/composer.json
index bb5d3229651325b645c745a2b960a305a8468bf1..d033a98f4c23295d217fe47bf23d7e7ad464ddd4 100644
--- a/composer.json
+++ b/composer.json
@@ -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"
diff --git a/src/Extension/ConditionalExtension.php b/src/Extension/ConditionalExtension.php
index 4d2a64ef225833b902bb9ba167dd11043d676700..9ae9c1469fe5de7fb2081f297b3b41dc5b096aef 100644
--- a/src/Extension/ConditionalExtension.php
+++ b/src/Extension/ConditionalExtension.php
@@ -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();
 			};
 		}