diff --git a/src/Settings.php b/src/Settings.php index aa648ce8e7e77c40a93b6c6c5300a0a003037ab9..1fa6f1be833aa8b5a0074f92bb1546b73b6a22ea 100644 --- a/src/Settings.php +++ b/src/Settings.php @@ -4,6 +4,9 @@ namespace WPDesk\Logger; use Psr\Log\LogLevel; +/** + * @deprecated + */ final class Settings { /** @var string */ @@ -26,4 +29,12 @@ final class Settings { $this->use_wp_log = $use_wp_log; } + public function to_array(): array { + return [ + 'level' => $this->level, + 'use_wc_log' => $this->use_wc_log, + 'use_wp_log' => $this->use_wp_log, + ]; + } + } diff --git a/src/SimpleLoggerFactory.php b/src/SimpleLoggerFactory.php index 86c2a6f24b76158ab27624b5c659ca40d7b2d26f..3ec0b81bf5b926c4f52dd67bd1dd66e2d2665474 100644 --- a/src/SimpleLoggerFactory.php +++ b/src/SimpleLoggerFactory.php @@ -8,11 +8,16 @@ use Monolog\Logger; use Monolog\Handler\ErrorLogHandler; use Monolog\Processor\PsrLogMessageProcessor; use Monolog\Processor\UidProcessor; +use Psr\Log\LogLevel; use WPDesk\Logger\WC\WooCommerceHandler; final class SimpleLoggerFactory implements LoggerFactory { - /** @var Settings */ + /** + * @var array{ + * level?: string, + * } + */ private $options; /** @var string */ @@ -21,9 +26,23 @@ final class SimpleLoggerFactory implements LoggerFactory { /** @var Logger */ private $logger; - public function __construct( string $channel, Settings $options = null ) { + /** + * Valid options are: + * * level (default debug): Default logging level + */ + public function __construct( string $channel, $options = null ) { $this->channel = $channel; - $this->options = $options ?? new Settings(); + + if ( $options instanceof Settings ) { + $options = $options->to_array(); + } + + $this->options = array_merge( + [ + 'level' => LogLevel::DEBUG, + ], + $options + ); } public function getLogger( $name = null ): Logger {