本文整理汇总了Python中raven.handlers.logging.SentryHandler.addFilter方法的典型用法代码示例。如果您正苦于以下问题:Python SentryHandler.addFilter方法的具体用法?Python SentryHandler.addFilter怎么用?Python SentryHandler.addFilter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类raven.handlers.logging.SentryHandler
的用法示例。
在下文中一共展示了SentryHandler.addFilter方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: sentry_logger
# 需要导入模块: from raven.handlers.logging import SentryHandler [as 别名]
# 或者: from raven.handlers.logging.SentryHandler import addFilter [as 别名]
def sentry_logger(sender, logger, loglevel, logfile, format,
colorize, **kw):
filter_ = CeleryFilter()
handler = SentryHandler(client)
handler.setLevel(loglevel)
handler.addFilter(filter_)
logger.addHandler(handler)
示例2: process_logger_event
# 需要导入模块: from raven.handlers.logging import SentryHandler [as 别名]
# 或者: from raven.handlers.logging.SentryHandler import addFilter [as 别名]
def process_logger_event(sender, logger, loglevel, logfile, format, colorize, **kw):
import logging
logger = logging.getLogger()
handler = SentryHandler(client)
if handler.__class__ in list(map(type, logger.handlers)):
return False
handler.setLevel(logging.ERROR)
handler.addFilter(CeleryFilter())
logger.addHandler(handler)
示例3: init_sentry
# 需要导入模块: from raven.handlers.logging import SentryHandler [as 别名]
# 或者: from raven.handlers.logging.SentryHandler import addFilter [as 别名]
def init_sentry(app):
sentry = IndicoSentry(wrap_wsgi=False, register_signal=True, logging=False)
sentry.init_app(app)
# setup logging manually and exclude uncaught indico exceptions.
# these are logged manually in the flask error handler logic so
# we get the X-Sentry-ID header which is not populated in the
# logging handlers
handler = SentryHandler(sentry.client, level=getattr(logging, config.SENTRY_LOGGING_LEVEL))
handler.addFilter(BlacklistFilter({'indico.flask', 'celery.redirected'}))
setup_logging(handler)
# connect to the celery logger
register_logger_signal(sentry.client)
register_signal(sentry.client)
示例4: register_logger_signal
# 需要导入模块: from raven.handlers.logging import SentryHandler [as 别名]
# 或者: from raven.handlers.logging.SentryHandler import addFilter [as 别名]
def register_logger_signal(client, logger=None, loglevel=logging.ERROR):
filter_ = CeleryFilter()
handler = SentryHandler(client)
handler.setLevel(loglevel)
handler.addFilter(filter_)
def process_logger_event(sender, logger, loglevel, logfile, format,
colorize, **kw):
# Attempt to find an existing SentryHandler, and if it exists ensure
# that the CeleryFilter is installed.
# If one is found, we do not attempt to install another one.
for h in logger.handlers:
if type(h) == SentryHandler:
h.addFilter(filter_)
return False
logger.addHandler(handler)
after_setup_logger.connect(process_logger_event, weak=False)
示例5: start_logging
# 需要导入模块: from raven.handlers.logging import SentryHandler [as 别名]
# 或者: from raven.handlers.logging.SentryHandler import addFilter [as 别名]
def start_logging():
observer = log.PythonLoggingObserver()
observer.start()
for logtype, config in LOGGING.iteritems():
if logtype == "raven":
from raven.handlers.logging import SentryHandler
lvl = getattr(logging, config.get('level', 'info').upper())
handler = SentryHandler(config["dsn"])
handler.setLevel(lvl)
# don't try to log sentry errors with sentry
handler.addFilter(InverseFilter('sentry'))
logging.getLogger().addHandler(handler)
print "Starting sentry logging [%s] with destination %s"% (
config.get('level', 'info').upper(), config["dsn"])
elif logtype == 'console':
console = logging.StreamHandler()
lvl = getattr(logging, config.get('level', 'info').upper())
console.setLevel(lvl)
formatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s')
console.setFormatter(formatter)
logging.getLogger().addHandler(console)
print "Starting console logging [%s]" % config.get('level', 'info').upper()