【发布时间】:2019-08-09 06:36:50
【问题描述】:
我正在使用 symfony 4.1 和 monolog 3.3。
我在以下目录中有我的 symfony 项目:/var/www/html/{project_dir}。
在生产环境中,我希望我的日志存储在 /tmp/foo 而不是标准的 symfony 目录中:{project_dir_path}/var/log。
我将Kernel::getLogDir() 方法更改为以下内容:
public function getLogDir()
{
return 'prod' === $this->environment
? '/tmp/foo'
: $this->getProjectDir().'/var/log';
}
我的生产monolog.yaml 路径如下所示:
path: "%kernel.logs_dir%/%kernel.environment%.log"
我的测试问题环境设置为“prod”。
我在调试的时候可以看到monolog的日志目录正确设置为/tmp/foo。 /tmp/foo 具有适当的访问权限 (0766),但是当我尝试记录某些内容时,该目录中没有任何内容。
【问题讨论】:
-
您必须为此行 /tmp/foo 提供完整的验证路径,这将为您提供路径
php $fullVerifiedPath = getcwd(); -
完整验证路径为
/tmp/foo。 -
在路径字符串的末尾连接 DIRECTORY_SEPARATOR 常量
标签: php symfony logging monolog