我想在Symfony 2中向默认的monolog添加一个自定义处理程序。
在我的config.yaml文件中,我有:
monolog:
handlers:
main:
type: stream
path: %kernel.logs_dir%/%kernel.environment%.log
level: debug
myHandler:
type: Acme\MyBundle\Monolog\MyCustomHandler
level: error我的班级如下:
// Acme\MyBundle\Monolog\MyCustomHandler
use Monolog\Logger;
use Monolog\Handler\SocketHandler;
use Monolog\Formatter\LineFormatter;
class MyCustomHandler extends AbstractProcessingHandler
{
...
}但是,即使在我填写我的课程之前,我也会发现一个错误:
用于处理程序"myHandler“的无效处理程序类型"acme\mybundle\monolog\mycustomhandler”
如何在不创建新的monolog服务的情况下向默认monolog添加自定义处理程序?
发布于 2012-10-17 14:52:01
试试这个:
monolog:
handlers:
main:
type: stream
path: %kernel.logs_dir%/%kernel.environment%.log
level: debug
custom:
type: service
id: my_custom_handler
services:
my_custom_handler:
class: Acme\MyBundle\Monolog\MyCustomHandler如果您想使用它作为默认处理程序,那么您应该修改一下我前面写的monolog部分。
monolog:
handlers:
main:
type: stream
path: %kernel.logs_dir%/%kernel.environment%.log
level: debug
handler: custom
custom:
type: service
id: my_custom_handler希望它能帮到你。
发布于 2015-04-19 09:14:12
我刚刚发现Monolog附带了一组不同的处理程序,所以您可能需要使用其中之一,而不是编写自己的处理程序。我正在使用LogEntriesHandler登录到logentries.com,但是还有更多,如这里所记录的:https://github.com/Seldaek/monolog#log-specific-servers-and-networked-logging
我的Symfony2配置如下所示:
monolog:
main:
type: fingers_crossed
level: debug
handler: nested
custom:
type: service
id: monolog.handler.logentries
level: error
services:
monolog.handler.logentries:
class: Monolog\Handler\LogEntriesHandler
arguments:
token: %logentries_token%https://stackoverflow.com/questions/12935979
复制相似问题