5

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

4

1 回答 1

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

第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

于 2012-08-03T06:03:21.997 回答