- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
如何配置 Django logging
以支持不同 loggers
的不同 DSN?
像这样:
settings.py
LOGGING = {
..
'handlers': {
'sentry1': {
'level': 'ERROR',
'class': 'raven.contrib.django.handlers.SentryHandler',
'dsn': '<DSN1>',
},
'sentry2': {
'level': 'ERROR',
'class': 'raven.contrib.django.handlers.SentryHandler',
'dsn': '<DSN2>',
},
},
'loggers': {
'sentry1':{
'handlers': ['console', 'sentry1'],
'level': 'ERROR',
'propagate': False,
},
'sentry2':{
'handlers': ['console', 'sentry2'],
'level': 'ERROR',
'propagate': False,
},
}
views.py
import logging
logger = logging.getLogger('sentry2')
logger.error('yeey!')
最佳答案
试试这种对我有用的方法
1) 编写自定义处理程序
from __future__ import absolute_import
import logging
from raven.handlers.logging import SentryHandler
class CustomHandler(SentryHandler):
def __init__(self, *args, **kwargs):
dsn = kwargs.pop('dsn', None)
self.tags = kwargs.pop('tags', None)
logging.Handler.__init__(self, level=kwargs.get('level', logging.NOTSET))
super(CustomHandler, self).__init__(dsn, **kwargs)
2) 更改您的登录设置
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s '
'%(process)d %(thread)d %(message)s'
},
},
'handlers': {
'sentry1': {
'level': 'ERROR',
'class': 'project.sentry.CustomHandler',
'dsn': '<DSN1>',
},
'sentry2': {
'level': 'ERROR',
'class': 'project.sentry.CustomHandler',
'dsn': '<DSN2>',
},
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'verbose'
}
},
'loggers': {
'sentry1': {
'handlers': ['sentry1'],
'level': 'ERROR',
'propagate': False,
},
'sentry2': {
'handlers': ['sentry2'],
'level': 'ERROR',
'propagate': False,
},
}
}
3) 在任何地方记录你的错误
import logging
logger = logging.getLogger('sentry2')
logger.error('yeey!')
它对我有用,用 python3.6 django2 测试过。
关于python - Django/乌鸦/Sentry : different loggers for different DSNs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32513553/
我有一个工作正常的 Sentry 服务器。 raven test -> Sending a test message... success! 我有一台装有 django 1.3 和 raven 1.
使用 Sentry 7.7,在 Docker 的前提下。一切正常,但消息分组很奇怪: 它们是相同的事件,只有一条消息和一个时间戳,但它们并没有组合在一起,为什么? 最佳答案 谢谢@David, 使用指
例如: 我通过在搜索栏中搜索特定用户的电子邮件地址来搜索发生在特定用户身上的错误。这让我回到了错误列表。当我单击其中一个错误时,它会向我显示发生在其他用户身上的类似错误。如何找到我搜索的用户发生的确切
我知道如何开始哨兵。 但是,当我更改sentry.conf.py时,如何使其起作用? 我运行了岗哨帮助,找不到岗哨停止或重新启动commond。 有没有一种方法可以重新启动哨兵服务器? 最佳答案 我自
如何在 Sentry 中自定义用户反馈表? 默认情况下,它会说“看起来我们遇到了一些内部问题”。 是否可以更改消息、收集的数据等? 谢谢。 最佳答案 有一个 API here ,但你必须得到一个 ev
我目前正在将 Sentry 集成到 Angular 网络应用程序中。我成功地将 Sentry 中的 console.log/warn/error 和异常报告为“问题”。 但是,当对我的服务器的请求失败
我是新来的哨兵。 Sentry 中的客户端 key (DSN) 在哪里? 在我的项目页面中,有问题、概览、用户反馈、发布选项卡。 但是没有设置。 哨兵说 “正在寻找 SDK 的 DSN?您会在 [项目
这是给 Sentry (Open-source error tracking)用户。 我尝试了一些代码,但没有成功。我希望你能调查一下。 提前感谢大家。 我已经下载了 SDK zip 并将其上传到服务
即使错误已成功发送,Sentry Dashboard 仍未更新的原因是什么? 我尝试模拟错误并在 Raven 库中记录从获取异常到发送给 Sentry 的整个过程。 Raven 返回了 200 Htt
我正在尝试在我的项目上启用用户反馈功能。到目前为止,我尝试了几件事但没有成功。我正在使用 django 1.11 和 raven 6.8.0 我也遵循了这个解决方案 - [DOCS] Django I
我接手了一个使用 python 和 flask 的项目(我也是 python/flask 的新手!)。我想向其中添加 Sentry 以捕获发生的任何错误/异常。为了增加复杂性,该项目被拆分为多个相互链
我已经包含 Sentry 来跟踪我的移动应用程序的崩溃。它工作正常,现在我想向 Sentry 发送警告消息以跟踪它们。有没有办法从 JavaScript 端做到这一点。谢谢。 最佳答案 // set
我有一个 create-react-app 项目,我希望部署过程生成一个 Sentry 版本并将源映射也上传到 Sentry。 最佳答案 此脚本将为 package.json 文件中指定的版本创建一个
我将为我的 Android 应用程序使用 Sentry。我公司使用的是自托管的 Sentry,版本 9.0.0。当我使用 sentry-cli 运行 sentry-cli info 命令时,我得到以下
我正在使用 Tomcat (7.0.70) + sentry(sentry 和 sentry-spring)+ JUL 以及以下 logging.properties WEB-INF/classes
编辑:标题并添加一些代码示例。 我正在尝试弄清楚如何使用相同的 DSN 将 Celery 工作程序和 Flask 日志记录发送到 Sentry。 设置如下: Flask 应用向 Celery Work
我将为我正在处理的 Android 项目使用 Sentry。我公司使用的是自托管的 Sentry,版本 9.0.0 我关注了Sentry.io Installation Guide . 这些权限已添加
我的应用程序正在使用 slf4j,自然地,我有一个 logback.xml 文件。我尝试向该文件添加一个 Sentry 附加程序。这是我的 logback.xml 文件。
我正在使用 webpack 构建我的应用程序,它可以在本地使用 @sentry/webpack-plugin – 它自动生成发布并将源 map 上传到 Sentry。 但是,如果我尝试在 Heroku
背景: 默认情况下,Sentry 服务将用户 hive、hue 和 impala 作为哨兵管理员。这与 Cloudera Manager (CM) sentry.service.admin.group
我是一名优秀的程序员,十分优秀!