在 CakePHP 中更改自定义日志的路径

Change path of custom logs in CakePHP

我有一个简单的 Web 服务,需要记录在其上完成的每个请求。 为此,我使用 CakePHP 自定义日志引擎:

$this->log('Log of the request.', 'myLog');

此日志文件位于 app/tmp/logs/myLog.log

问题是:我需要在我的网站上显示日志。有没有办法更改 CakePHP 中自定义日志的位置?

我阅读了我可以使用的文档:

CakeLog::config('custom_directory', array(
  'engine' => 'FileLog',
  'path' => 'webroot/my-logs/'
));

但我只希望我的日志保存在这个自定义目录中,而不是每个日志。

也许我遗漏了什么?

我不知道你是否可以对单个日志文件执行此操作,但我想到也许可以从日志到 webroot 创建一个符号 link。

ln -s /var/www/app/tmp/logs/myLog.log /var/www/app/webroot/my-logs/

嗯,简单点,记录日志条目后,将文件复制到你想要的目的地。

即:

$this->log('Log of the request.', 'myLog');
// copy file code here

检查 copy() 文档

请注意,源和目标都使用绝对系统路径更好更容易。