我试图使用Monolog在Laravel中创建我自己的旋转日志文件,但是,文件轮换不起作用,我不知道原因。
我创建了一个每天运行一次的工匠命令,并记录它的活动记录。我希望在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
我希望只能看到最后两个文件。我在这里做错了什么?
答案 0 :(得分:2)
你的一个支架确实有点不合适。您必须将日志文件的数量传递给RotatingFileHandler
的构造函数,而不是pushHandler()
的第二个参数:
$log->pushHandler(new RotatingFileHandler(storage_path().'/logs/mycustomlog.log', 2));
// ^