Как создать вращающийся файл журнала с Laravel и Monlog

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

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

В начале моей команды ремесленника у меня есть следующий код:

$log = new Logger('MyCustomLog');
$log->pushHandler(new RotatingFileHandler(storage_path().'/logs/mycustomlog.log'), 2);

Затем в течение всей команды я записываю в нее информацию:

$log->addInfo('Info to log');

Это казалось довольно простым для меня, но это просто не работает. Файлы журнала создаются правильно, но они никогда не удаляются. Я вижу следующее в моем app/storage/logs папка:

mycustomlog-2015-01-30.log
mycustomlog-2015-01-31.log
mycustomlog-2015-02-01.log
mycustomlog-2015-02-02.log
mycustomlog-2015-02-03.log

Я ожидаю увидеть только последние 2 файла. Что я здесь не так делаю?

2

Решение

Один из твоих кронштейнов стал немного неуместным. Вы должны передать количество файлов журнала конструктору RotatingFileHandler а не как второй аргумент pushHandler():

$log->pushHandler(new RotatingFileHandler(storage_path().'/logs/mycustomlog.log', 2));
//                                                                                ^
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]