我正在尝试使用 CakePHP 的 Logging 系统,但是,对我来说,它在我预期的时候不起作用。
问题:我需要为每个日期创建一个日志文件:
$this->log('Message', date('Y-m-d'));
我也试试:
CakeLog::write(date('Y-m-d'), 'Message');
为什么不起作用?
CakePHP: 2.3
操作系统: Windows 7 x32 位
Apache: 2.2
PHP: 5.3.9
MySQL: 5
我知道这是一个老问题,但遇到了同样的问题要解决,而且做起来很简单。在您的 bootstrap.php 中:
CakeLog::config('debug', array(
'engine' => 'FileLog',
'types' => array('notice', 'info', 'debug'),
'file' => 'debug-'.date('Y-m-d'), // saves as debug-YYYY-MM-DD.log
));
CakeLog::config('error', array(
'engine' => 'FileLog',
'types' => array('warning', 'error', 'critical', 'alert', 'emergency'),
'file' => 'error-'.date('Y-m-d'), // saves as error-YYYY-MM-DD.log
));
SQL 风格的日期格式可以很容易地在您的文件系统中按时间顺序对日志进行排序,即 YYYY-MM-DD
以下将起作用
$this->log('Message', date('Y-m-d'));
和
CakeLog::write(date('Y-m-d'), 'Message');
你也可以配置你的 Cakelog 看看: http ://api.cakephp.org/class/cake-log#method-CakeLogconfig
像这样的东西:
CakeLog::config('second_file', array(
'engine' => 'FileLog',
'path' => '/var/logs/my_app/'
));