From d6c646e45ce11ff28fb9304c5e5292c999c427bc Mon Sep 17 00:00:00 2001 From: Max Nuding Date: Fri, 23 May 2025 08:20:23 +0200 Subject: [PATCH] improve log level formtting --- src/APnutI.php | 11 +++++++++++ src/Logger/LevelNamePaddingProcessor.php | 17 +++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 src/Logger/LevelNamePaddingProcessor.php diff --git a/src/APnutI.php b/src/APnutI.php index 1f21517..3d80d8a 100644 --- a/src/APnutI.php +++ b/src/APnutI.php @@ -14,10 +14,12 @@ use APnutI\Exceptions\NotSupportedPollException; use APnutI\Exceptions\HttpPnutForbiddenException; use APnutI\Exceptions\PollAccessRestrictedException; use APnutI\Meta; +use APnutI\Logger\LevelNamePaddingProcessor; use Monolog\Logger; use Monolog\Handler\RotatingFileHandler; use Monolog\Handler\StreamHandler; use Monolog\Handler\SyslogHandler; +use Monolog\Formatter\LineFormatter; use Psr\Log\LoggerInterface; use Psr\Log\NullLogger; @@ -88,6 +90,7 @@ class APnutI if (!empty($app_name)) { $this->app_name = $app_name; } + if (empty($log_level)) { $log_level = Logger::INFO; } elseif (is_string($log_level)) { @@ -98,18 +101,26 @@ class APnutI : new Logger($this->app_name); $this->token_session_key = $this->app_name . 'access_token'; $this->token_redirect_after_auth = $this->app_name . 'redirect_after_auth'; + + $this->logger->pushProcessor(new LevelNamePaddingProcessor()); + $formatter = new LineFormatter("[%datetime%] %channel%.%extra.level_padded%: %message% %context% %extra%\n"); + if ($use_rotating_file_handler) { $handler = new RotatingFileHandler($log_path, 5, $log_level, true); + $handler->setFormatter($formatter); $this->logger->pushHandler($handler); } if ($use_stream_handler) { $handler = new StreamHandler($log_path, $log_level, true); + $handler->setFormatter($formatter); $this->logger->pushHandler($handler); } if ($use_syslog_handler) { $handler = new SyslogHandler($this->app_name, \LOG_USER, $log_level, true); + $handler->setFormatter($formatter); $this->logger->pushHandler($handler); } + $this->server_token = null; $this->logger->debug('__construct API'); if (isset($_SESSION[$this->token_session_key])) { diff --git a/src/Logger/LevelNamePaddingProcessor.php b/src/Logger/LevelNamePaddingProcessor.php new file mode 100644 index 0000000..adf94ac --- /dev/null +++ b/src/Logger/LevelNamePaddingProcessor.php @@ -0,0 +1,17 @@ +extra['level_padded'] = str_pad($record->level->getName(), 6, ' ', STR_PAD_RIGHT); + + return $record; + } +}