我想在payment.log
中记录付款网关错误。所以将其添加到bootstrap
:
CakeLog::config('payment', array(
'engine' => 'FileLog',
'file' => 'payment',
));
发生问题时:
CakeLog::write('payment', 'The is a problem!');
但是,上面的命令会在This is a problem!
和payment.log
中记录error.log
,而登录到第一个文件就足够了。
此外,如果其他控制器(如users
)中出现任何其他问题,它将登录到这两个文件。虽然它应该只登录error.log
(我的意思是付款错误应该登录payment.log
,其他任何问题都应写入error.log
)
哪里出错?
感谢。
答案 0 :(得分:0)
看起来您可能错过config中的范围选项吗?
CakeLog::config('payments', array(
'engine' => 'File',
'scopes' => array('payment', 'order')
));
然后,您需要指定要写入的范围:
CakeLog::write('warning', 'Stuff is broken here', 'payment');
可能需要一些摆弄才能恰到好处,但这应该会有所帮助。