我试图确保当我的应用程序处于生产模式时 CakePHP 写入自定义日志文件。
我正在使用 log 方法写入日志:-
$this->log($url, 'payment');
当我处于开发模式时,这项工作很好,但是当我切换到生产模式时,它不再写入文件(这正是我想要的)。
我尝试在 bootstrap.php 中配置文件日志记录选项,这部分解决了问题:-
CakeLog::levels(array('payment'));
CakeLog::config('payment', array(
'engine' => 'FileLog',
'types' => array('payment'),
'file' => 'payment',
));
现在它会在生产模式下写入日志文件,但它也会将其他错误写入我的 payment.log 中,而我不希望这些错误出现在其中。
我尝试通读 docs但要么它没有解释如何实现这一点,要么我误解了它。
我做错了什么?感谢您的帮助。
最佳答案
我认为这可能对您有帮助:
调用:
CakeLog::write('info', 'log msg', array('payments'));
Bootstrap :
CakeLog::config('payments', array(
'engine' => 'FileLog',
'types' => array('info'),
'scopes' => array('payments')
));
正如文档所述,范围在 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
关于cakephp - 在生产模式下写入 CakePHP 自定义日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18694405/