【问题标题】:Writing to CakePHP custom log file when in production mode在生产模式下写入 CakePHP 自定义日志文件
【发布时间】:2013-09-09 08:37:07
【问题描述】:

我正在尝试确保当我的应用程序处于生产模式时 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,但要么它没有解释如何实现这一点,要么我误解了它。

我做错了什么?感谢您的帮助。

【问题讨论】:

  • 你找到解决办法了吗?
  • 没有。我一直没能找到解决这个问题的办法。

标签: cakephp logging cakephp-2.1


【解决方案1】:

我认为这可能会对您有所帮助:

呼叫:

CakeLog::write('info', 'log msg', array('payments'));

引导程序:

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

【讨论】:

  • 不幸的是,我没有为这个项目升级 Cake 的奢侈。我希望这在 CakePHP 2.1 中是可行的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多