如何将简单的调试消息记录到Symfony中的文件?

时间:2012-08-03 03:25:34

标签: php symfony

我希望能够将调试消息写入日志文件。这样做的正确方法是什么?绝对没有我能在那里找到的文件。我知道Monolog包已被提及,但它没有写任何东西。请建议。

1 个答案:

答案 0 :(得分:13)

假设您使用默认包含的 MonologBu​​ndle

第1步

定义处理程序服务并在那里传递目录/文件

your.log.handler:
    class: %monolog.handler.stream.class%
    arguments: [ %kernel.logs_dir%/%kernel.environment%.yourFileName.log ]

类参数%monolog.handler.stream.class% MonologBu​​ndle 中定义,它是Monolog\Handler\StreamHandler class

第2步

定义您的记录器服务并在那里注入您的处理程序

your.logger:
    class: %monolog.logger.class%
    arguments: [ nameOfLoggingChannel ]
    calls: [ [pushHandler, [@your.log.handler]] ]

参数%monolog.logger.class%也在 MonologBu​​ndle 中定义,代表Symfony\Bridge\Monolog\Logger

第3步

将其注入您的控制器并用作普通记录器

$logger = $this->get('your.logger');
$logger->warn('We are using custom logger');

检查app/logs/dev.yourFileName.log