如何在CakePHP 2.3中为每个日期创建日志


How create a log for each date in CakePHP 2.3

我尝试使用CakePHP的日志记录系统,但对我来说,没有按预期工作。

问题:我需要为每个日期创建一个日志文件:

$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

我知道这是一个老问题,但遇到了同样的问题需要解决,而且做起来很简单

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');

您也可以配置您的Cakeloghttp://api.cakephp.org/class/cake-log#method-CakeLogconfig

类似的东西:

    CakeLog::config('second_file', array(
    'engine' => 'FileLog',
    'path' => '/var/logs/my_app/'
    ));