From 8112a9bc835bc04144bdcf4fdd1799734a15ca88 Mon Sep 17 00:00:00 2001 From: David Remer Date: Wed, 1 Jul 2020 13:03:21 +0300 Subject: [PATCH] add logger --- composer.json | 6 ++- modules.local/woocommerce-logging/.gitignore | 4 ++ .../woocommerce-logging/composer.json | 13 ++++++ .../woocommerce-logging/extensions.php | 13 ++++++ modules.local/woocommerce-logging/module.php | 9 ++++ .../woocommerce-logging/services.php | 23 ++++++++++ .../src/Logger/NullLogger.php | 22 ++++++++++ .../src/Logger/WooCommerceLogger.php | 44 +++++++++++++++++++ .../src/WoocommerceLoggingModule.php | 30 +++++++++++++ 9 files changed, 162 insertions(+), 2 deletions(-) create mode 100644 modules.local/woocommerce-logging/.gitignore create mode 100644 modules.local/woocommerce-logging/composer.json create mode 100644 modules.local/woocommerce-logging/extensions.php create mode 100644 modules.local/woocommerce-logging/module.php create mode 100644 modules.local/woocommerce-logging/services.php create mode 100644 modules.local/woocommerce-logging/src/Logger/NullLogger.php create mode 100644 modules.local/woocommerce-logging/src/Logger/WooCommerceLogger.php create mode 100644 modules.local/woocommerce-logging/src/WoocommerceLoggingModule.php diff --git a/composer.json b/composer.json index 9b8715fc1..639fecdff 100644 --- a/composer.json +++ b/composer.json @@ -29,7 +29,8 @@ "oomphinc/composer-installers-extender": "^1.1", "container-interop/service-provider": "^0.4.0", "dhii/containers": "dev-develop", - "dhii/wp-containers": "^0.1.0@alpha" + "dhii/wp-containers": "^0.1.0@alpha", + "psr/log": "^1.1" }, "require-dev": { "inpsyde/php-coding-standards": "^1", @@ -41,7 +42,8 @@ "Inpsyde\\PayPalCommerce\\": "src/", "Inpsyde\\PayPalCommerce\\Button\\": "modules.local/ppcp-button/src/", "Inpsyde\\PayPalCommerce\\WcGateway\\": "modules.local/ppcp-wc-gateway/src/", - "Inpsyde\\PayPalCommerce\\Onboarding\\": "modules.local/ppcp-onboarding/src/" + "Inpsyde\\PayPalCommerce\\Onboarding\\": "modules.local/ppcp-onboarding/src/", + "Inpsyde\\Woocommerce\\Logging\\": "modules.local/woocommerce-logging/src/" } }, "autoload-dev": { diff --git a/modules.local/woocommerce-logging/.gitignore b/modules.local/woocommerce-logging/.gitignore new file mode 100644 index 000000000..b83166ae1 --- /dev/null +++ b/modules.local/woocommerce-logging/.gitignore @@ -0,0 +1,4 @@ +/vendor/ +composer.lock +phpunit.xml +.phpunit.result.cache \ No newline at end of file diff --git a/modules.local/woocommerce-logging/composer.json b/modules.local/woocommerce-logging/composer.json new file mode 100644 index 000000000..927a9bae3 --- /dev/null +++ b/modules.local/woocommerce-logging/composer.json @@ -0,0 +1,13 @@ +{ + "name": "inpsyde/woocommerce-logging", + "type": "inpsyde-module", + "require": { + "dhii/module-interface": "0.2.x-dev", + "psr/log": "^1.1" + }, + "autoload": { + "psr-4": { + "Inpsyde\\Woocommerce\\Logging\\": "src/" + } + } +} diff --git a/modules.local/woocommerce-logging/extensions.php b/modules.local/woocommerce-logging/extensions.php new file mode 100644 index 000000000..6948794ac --- /dev/null +++ b/modules.local/woocommerce-logging/extensions.php @@ -0,0 +1,13 @@ + function (ContainerInterface $container) { + if (!class_exists(\WC_Logger::class)) { + return new NullLogger(); + } + + return new WooCommerceLogger( + wc_get_logger() + ); + }, +]; diff --git a/modules.local/woocommerce-logging/src/Logger/NullLogger.php b/modules.local/woocommerce-logging/src/Logger/NullLogger.php new file mode 100644 index 000000000..3c4411606 --- /dev/null +++ b/modules.local/woocommerce-logging/src/Logger/NullLogger.php @@ -0,0 +1,22 @@ +wcLogger = $wcLogger; + } + + /** + * phpcs:disable Inpsyde.CodeQuality.ArgumentTypeDeclaration.NoArgumentType + * + * @inheritDoc + */ + public function log($level, $message, array $context = []) + { + if (!isset($context['source'])) { + $context['source'] = 'izettle-woocommerce'; + } + $this->wcLogger->log($level, $message, $context); + } +} diff --git a/modules.local/woocommerce-logging/src/WoocommerceLoggingModule.php b/modules.local/woocommerce-logging/src/WoocommerceLoggingModule.php new file mode 100644 index 000000000..8af260657 --- /dev/null +++ b/modules.local/woocommerce-logging/src/WoocommerceLoggingModule.php @@ -0,0 +1,30 @@ +