【问题标题】:How to use sentry logging with multiple raven config如何在多个 raven 配置中使用哨兵日志记录
【发布时间】:2016-10-27 07:37:43
【问题描述】:

我可以在我的 Django 设置中定义多个 RAVEN_CONFIGs 并为它们使用不同的 dsn 值,然后以某种方式进行配置,以便当我从一个 Django 应用程序中的文件中收到错误时,它们会登录到一个哨兵商店和其他 Django另一个 Sentry 商店中的应用?

【问题讨论】:

    标签: django sentry raven


    【解决方案1】:

    试试这个方法吧

    1) 自定义 SentryHandler 的处理程序

    from __future__ import absolute_import
    
    import logging
    
    from raven.handlers.logging import SentryHandler
    
    
    class CustomSentryHandler(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(CustomSentryHandler, 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>',
        },
    },
    'loggers': {
        'sentry1': {
            'handlers': ['sentry1'],
            'level': 'ERROR',
            'propagate': False,
        }
    }
    

    }

    3) 记录您的错误

    import logging
    logger = logging.getLogger('sentry2')
    logger.error('yeey!')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-25
      • 2020-12-01
      • 1970-01-01
      • 2020-12-03
      • 2021-06-27
      • 2012-08-03
      • 2016-04-29
      • 2021-11-11
      相关资源
      最近更新 更多