improve log level formtting
This commit is contained in:
parent
d7030d3dd4
commit
d6c646e45c
@ -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])) {
|
||||
|
17
src/Logger/LevelNamePaddingProcessor.php
Normal file
17
src/Logger/LevelNamePaddingProcessor.php
Normal file
@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace APnutI\Logger;
|
||||
|
||||
use Monolog\Processor\ProcessorInterface;
|
||||
use Monolog\LogRecord;
|
||||
|
||||
// See: https://stackoverflow.com/a/78901964
|
||||
class LevelNamePaddingProcessor implements ProcessorInterface
|
||||
{
|
||||
public function __invoke(LogRecord $record): LogRecord
|
||||
{
|
||||
$record->extra['level_padded'] = str_pad($record->level->getName(), 6, ' ', STR_PAD_RIGHT);
|
||||
|
||||
return $record;
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user