如何在Symfony 2中全局更改Monolog的默认日期时区?

时间:2018-08-19 15:58:31

标签: php symfony logging monolog

我正在Symfony 2中使用Monolog进行日志记录,Monolog使用在php.ini中设置的默认时区和后备时间到UTC。

没有用于确定Monolog时区的配置参数。

更改使用的时区的一种方法是使用\Monolog\Logger::setTimezone(),但是我不想在每次使用日志记录时都进行迭代,并确保使用\Monolog\Logger::setTimezone()

因为时区已在所有记录器实例中全局使用,如果我以某种方式在使用init函数之前设置了时区?我的问题是Symfony处理Monolog的实例化和注入,有没有一种方法可以让我实例化logger实例后告诉Symfony使用setTimezone()?

1 个答案:

答案 0 :(得分:1)

namespace AppBundle;

use Monolog\Logger;
use Symfony\Component\HttpKernel\Bundle\Bundle;

class AppBundle extends Bundle
{
    public function boot()
    {
        parent::boot(); // TODO: Change the autogenerated stub
        Logger::setTimezone(new \DateTimeZone('UTC'));
    }
}