我希望能够将调试消息写入日志文件。这样做的正确方法是什么?绝对没有我能在那里找到的文件。我知道Monolog包已被提及,但它没有写任何东西。请建议。
答案 0 :(得分:13)
假设您使用默认包含的 MonologBundle
定义处理程序服务并在那里传递目录/文件
your.log.handler:
class: %monolog.handler.stream.class%
arguments: [ %kernel.logs_dir%/%kernel.environment%.yourFileName.log ]
类参数%monolog.handler.stream.class%
在 MonologBundle 中定义,它是Monolog\Handler\StreamHandler
class
定义您的记录器服务并在那里注入您的处理程序
your.logger:
class: %monolog.logger.class%
arguments: [ nameOfLoggingChannel ]
calls: [ [pushHandler, [@your.log.handler]] ]
参数%monolog.logger.class%
也在 MonologBundle 中定义,代表Symfony\Bridge\Monolog\Logger
类
将其注入您的控制器并用作普通记录器
$logger = $this->get('your.logger');
$logger->warn('We are using custom logger');
检查app/logs/dev.yourFileName.log