Очистить ведение журнала при использовании Monolog?

Я хочу использовать Monolog для регистрации некоторой информации.

Это мой код:

// Create the logger
$logger = new Monolog\Logger('my_logger');

$path = storage_path('app/logs/mc.log');
$logger->pushHandler(new Monolog\Handler\StreamHandler($path, Monolog\Logger::INFO));

// You can now use your logger
$logger->info('My logger is now ready');

Вот как выглядит мой лог-файл после того, как я пару раз выполнил код:

[2018-02-13 15:06:12] my_logger.INFO: Мой регистратор готов [] []

[2018-02-13 15:06:29] my_logger.INFO: Мой регистратор готов [] []

Я хотел бы иметь более чистый файл журнала, например:

[2018-02-13 15:06:12] Мой регистратор готов

[2018-02-13 15:06:29] Мой регистратор готов

Это возможно? Или можно хотя бы убрать две пустые скобки в конце?


person Adam    schedule 13.02.2018    source источник


Ответы (1)


Вы можете настроить формат журнала. Из документации:

// the default date format is "Y-m-d H:i:s"
$dateFormat = "Y n j, g:i a";
// the default output format is "[%datetime%] %channel%.%level_name%: %message% %context% %extra%\n"
$output = "%datetime% > %level_name% > %message% %context% %extra%\n";
// finally, create a formatter
$formatter = new LineFormatter($output, $dateFormat);

// Create a handler
$stream = new StreamHandler(__DIR__.'/my_app.log', Logger::DEBUG);
$stream->setFormatter($formatter);
// bind it to a logger object
$securityLogger = new Logger('security');
$securityLogger->pushHandler($stream);

Вы удалите компоненты %channel%.%level_name%, %context% и %extra% стандартного формата.

Тем не менее, серьезность может быть довольно важной — вы хотите знать, относится ли что-то к элементу журнала DEBUG, а не к CRITICAL. То же самое и с битами [] — иногда они могут содержать важную информацию для дальнейшего анализа.

Эти журналы обычно не предназначены для просмотра пользователями, не являющимися техническими специалистами, поэтому я сомневаюсь в ценности сокрытия полезной информации ради в лучшем случае умеренных корректировок читабельности.

person ceejayoz    schedule 13.02.2018