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

时间:2013-02-18 12:23:34

标签: php apache cakephp

我正在尝试使用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

3 个答案:

答案 0 :(得分:0)

以下工作

$this->log('Message', date('Y-m-d'));

CakeLog::write(date('Y-m-d'), 'Message');

答案 1 :(得分:0)

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

类似的东西:

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

答案 2 :(得分:0)

我知道这是一个老问题,但遇到了同样的问题需要解决,而且这很简单。在你的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