1

我想在payment.log. 因此,将其添加到bootstrap

CakeLog::config('payment', array(
    'engine' => 'FileLog',
    'file' => 'payment',
));

当出现问题时:

CakeLog::write('payment', 'The is a problem!');

但是,上面的命令将This is a problem!同时登录payment.logerror.log,而登录到第一个文件就足够了。

此外,如果其他控制器(如 )中发生任何其他问题users,它将登录到这两个文件。虽然它应该只是登录error.log

(我的意思是付款错误应该登录payment.log,任何其他问题都应该写入error.log

哪里错了?

谢谢。

4

1 回答 1

0

看起来您可能缺少配置中的范围选项?

CakeLog::config('payments', array(
    'engine' => 'File',
    'scopes' => array('payment', 'order')
));

然后,您需要指定要写入的范围:

CakeLog::write('warning', 'Stuff is broken here', 'payment');

可能需要一些摆弄才能让它恰到好处,但这应该会有所帮助。

于 2013-01-16T17:35:57.500 回答