Php 如何使用Laravel和Monlog创建旋转日志文件

Php 如何使用Laravel和Monlog创建旋转日志文件,php,laravel-4,monolog,Php,Laravel 4,Monolog,我正在尝试使用Monolog在Laravel中创建我自己的旋转日志文件,但是,文件旋转不起作用,我不知道为什么 我创建了一个artisan命令,该命令每天运行一次,并记录其活动。我希望在2天后删除此文件的旧版本。换句话说,只有今天的跑步记录和昨天的跑步记录应该存在 在artisan命令的开头,我有以下代码: $log = new Logger('MyCustomLog'); $log->pushHandler(new RotatingFileHandler(storage_path().'

我正在尝试使用Monolog在Laravel中创建我自己的旋转日志文件,但是,文件旋转不起作用,我不知道为什么

我创建了一个artisan命令,该命令每天运行一次,并记录其活动。我希望在2天后删除此文件的旧版本。换句话说,只有今天的跑步记录和昨天的跑步记录应该存在

在artisan命令的开头,我有以下代码:

$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个文件。我做错了什么?

你的一个括号确实有点不合适。您必须将日志文件的数量传递给
RotatingFileHandler的构造函数,而不是作为
pushHandler()
的第二个参数:


谢谢@lukasgeiter。你知道为什么在《拉雷维尔4》里它对我不起作用吗?这似乎不是拉威尔的问题,不是吗?我在这里并没有真正使用Laravel的代码,而是直接使用底层的Monolog库……我认为。您可以尝试将
2
传递给
RotatingFileHandler
的构造函数,而不是
pushHandler
,后者甚至没有第二个参数;)哈谢谢,我肯定这就是问题所在。甚至都没注意到。
$log->pushHandler(new RotatingFileHandler(storage_path().'/logs/mycustomlog.log', 2));
//                                                                                ^