drm*_*nja 4 logging cakephp cakephp-2.1
我正在尝试确保当我的应用程序处于生产模式时,CakePHP会写入自定义日志文件.
我正在使用日志方法写入日志: -
$this->log($url, 'payment');
Run Code Online (Sandbox Code Playgroud)
当我处于开发模式时,这项工作很好,但当我切换到生产模式时,它不再写入文件(这是我想要它做的).
我已经尝试在bootstrap.php中配置文件记录选项,这部分解决了这个问题: -
CakeLog::levels(array('payment'));
CakeLog::config('payment', array(
'engine' => 'FileLog',
'types' => array('payment'),
'file' => 'payment',
));
Run Code Online (Sandbox Code Playgroud)
这现在以生产模式写入日志文件,但它也将其他错误写入我的payment.log,我不想在那里.
我试过阅读文档,但要么它没有解释如何实现这一点,要么我误解了它.
我究竟做错了什么?谢谢你的帮助.
我想这可能会对你有所帮助:
呼叫:
CakeLog::write('info', 'log msg', array('payments'));
Run Code Online (Sandbox Code Playgroud)
引导:
CakeLog::config('payments', array(
'engine' => 'FileLog',
'types' => array('info'),
'scopes' => array('payments')
));
Run Code Online (Sandbox Code Playgroud)
正如文档所述,范围可在2.2中找到:http://book.cakephp.org/2.0/en/core-libraries/logging.html#logging-scopes
你用cakephp 2.1标记了这个问题.也许你只需升级:http://book.cakephp.org/2.0/en/appendices/2-2-migration-guide.html