Zend 2旋转日志记录

时间:2016-02-04 09:38:51

标签: php logging zend-framework2

我使用Zend Log将日志信息记录到我的日志文件中。我期待一种自动写入日志文件的方法,如logfile201601.log,logile201602.log等。

有没有办法实现这一目标?任何提示或教程?在我目前的研究中没有找到类似的东西。

我目前的配置:

'factories' => array(
        'Zend\Db\Adapter\Adapter' => 'Zend\Db\Adapter\AdapterServiceFactory',
        'Zend\Log' => function ($sm) {
                $logger = new Zend\Log\Logger(array(
                    'writers' => array(
                        'stream' => array(
                            'name' => 'stream',
                            'options' => array(
                                'stream' => './data/log/logfile2016.log',
                                'formatter' => array(
                                    'name' => 'simple',
                                    'options' => array(
                                        'dateTimeFormat' => 'Y-m-d H:i:s'
                                    )
                                )
                            )
                        )
                    )
                ));
                return $logger;
        },
);

1 个答案:

答案 0 :(得分:1)

因为Zend会自动创建日志文件,所以您可以使用date()函数动态创建日志文件:

// ...
'stream' => './data/log/logfile'.date("Ym").'.log',
// ...

请注意log目录必须是可写的。