【问题标题】:Grouping '.format()'-style logging messages in Sentry在 Sentry 中对“.format()”样式的日志消息进行分组
【发布时间】:2018-02-21 04:27:33
【问题描述】:

我使用 raven.handlers.logging 中的 SentryHandler 来跟踪 Sentry 中任何更高级别的日志。我的日志消息使用.format() 的自定义内容动态填充,因此文本消息本身不一定总是具有相同的内容。例如:

import logging
from raven.handlers.logging import SentryHandler
from raven.conf import setup_logging

# Create a "basic" logger
logger = logging.getLogger("root")

# Create a Sentry logger handler
sh = SentryHandler("https://******@sentry.io/******")
sh.setLevel(logging.WARNING)
setup_logging(sh)

# Send the desired message to Sentry via logger
if SomeInteresetingWarning():
    logger.warning("{} missing files in {} directiories!".format(num_files,num_dirs))

一切都好,只是这会导致每条独特的消息都被视为独特的警告,这当然不是真的。

在 GitHub 上有一个很好的 QA 涵盖了这个问题,但那里提供的解决方案仅适用于字符串,格式为 old-fashioned %s-style。

是否有人知道如何实现正确的 Sentry 消息分组(聚合),而无需将字符串格式从 format() 重新设计回 %s 占位符?

【问题讨论】:

    标签: python logging format sentry


    【解决方案1】:

    现在您可以: https://docs.python.org/3/howto/logging-cookbook.html#use-of-alternative-formatting-styles

    要点是使用带有 style="{" 的格式化程序。

    【讨论】:

      猜你喜欢
      • 2016-02-26
      • 2016-04-02
      • 1970-01-01
      • 2021-03-23
      • 2019-03-20
      • 1970-01-01
      • 2013-01-28
      • 1970-01-01
      • 2021-10-18
      相关资源
      最近更新 更多