Symfony2 Monolog 配置为使用 raven 处理程序(Sentry)
Posted
技术标签:
【中文标题】Symfony2 Monolog 配置为使用 raven 处理程序(Sentry)【英文标题】:Symfony2 Monolog configure to use raven handler (Sentry) 【发布时间】:2014-02-02 14:28:15 【问题描述】:我想使用 sentry 来评估可能的错误、异常等
我尝试使用 KunstmaanSentryBundle,它可以很好地捕获各种错误,例如未定义的函数等,但我想用它自己的处理程序定义我自己的 Monolog 通道,但不幸的是我还没有找到有关它的文档。
config.yml
类似于:
monolog:
handlers:
sentry:
type: stream
level: error
//Log to database parameter (raven for sentry)
有人知道正确的配置吗?
【问题讨论】:
【参考方案1】:这是config_prod.yml
的一部分:
monolog:
handlers:
main:
type: fingers_crossed
action_level: error
handler: grouped_main
sentry:
type: raven
dsn: 'http://user:pass@url/1'
level: notice
# Groups
grouped_main:
type: group
members: [sentry, streamed_main]
# Streams
streamed_main:
type: stream
path: %kernel.logs_dir%/%kernel.environment%.log
level: error
享受吧! :)
【讨论】:
谢谢,monolog 2.4.* 和 symfony 2.3.* 是必需的 实际上需要 Symfony 2.2+。我知道,因为我们现在有一个项目:) 请注意,注意您在composer.json
中使用的raven/raven
库的版本,因为如果您使用的是旧版本的Sentry,那么您会遇到API 版本不匹配的问题,并且日志记录将静默失败【参考方案2】:
想将此添加为对已接受答案的评论,但没有足够的代表,所以:
来自\Symfony\Bundle\MonologBundle\DependencyInjection\Configuration
:
"可能的处理程序类型和相关配置(括号表示可选参数):
乌鸦: dsn:连接字符串 client_id:Raven 客户端自定义服务 ID(可选) [level]:级别名称或int值,默认为DEBUG [bubble]:bool,默认为true"
示例配置为:
monolog:
handlers:
sentry:
type: raven
dsn: '%sentry_api_key%'
client_id: 'your.raven.client.custom.service.id'
level: notice
bubble: false
【讨论】:
以上是关于Symfony2 Monolog 配置为使用 raven 处理程序(Sentry)的主要内容,如果未能解决你的问题,请参考以下文章
使用 Monolog 在 Symfony2 中记录 PHP 致命错误
Symfony2/Monolog:日志级别 - 仅显示 app.INFO?