2 полезных фрагмента информации:
(1) Предыдущий ответ user367134 полезен, однако в нем есть ошибка: при установке уровня не следует устанавливать для него постоянное целое значение, обозначаемое LoggerLevel :: DEBUG. Вместо этого вы должны использовать функцию LoggerLevel :: toLevel () для получения объекта LoggerLevel.
то есть.,
$rootlogger->setLevel(LoggerLevel::DEBUG);
Вместо этого должно быть:
$rootlogger->setLevel(LoggerLevel::toLevel(LoggerLevel::DEBUG));
(2) Вот пример, аналогичный приведенному выше, с некоторыми отличиями:
- использует скользящие файлы журнала (максимальный размер каждого файла журнала составляет 100 МБ, и сохраняется не более 10)
- использует пользовательский шаблон для строк журнала
- исправляет ошибку setLevel
- устанавливает уровень записи в INFO
код:
$rootlogger = Logger::getRootLogger();
$rootlogger->setLevel(LoggerLevel::toLevel(LoggerLevel::INFO));
$appender = new LoggerAppenderRollingFile("MyAppender");
$appender->setFile("custom_name.log", true);
$appender->setMaxBackupIndex(10);
$appender->setMaxFileSize("100MB");
$appenderlayout = new LoggerLayoutPattern();
$pattern = '%d{Y-m-d H:i:s} [%p] %c: %m (at %F line %L)%n';
$appenderlayout->setConversionPattern($pattern);
$appender->setLayout($appenderlayout);
$appender->activateOptions();
$rootlogger->removeAllAppenders();
$rootlogger->addAppender($appender);
$rootlogger->info("info");