【问题标题】:Only exception info printed when using sys.stdout使用 sys.stdout 时仅打印异常信息
【发布时间】:2020-10-28 11:30:03
【问题描述】:

我的打印代码如下所示:

a_dict = {'data': 'y'}


try:
    raise KeyError
except KeyError:
    logging.info(f'yo {a_dict}')
    logging.exception(f'ye {a_dict}')

结果

{"message": "yo {'data': 'y'} some_location:29", "severity": "INFO"}
{"message": "Traceback (most recent call last):\n  File \"/some_fake_location\", line 27, in a_method\n    raise KeyError\nKeyError some_location:30", "severity": "ERROR"}

我创建了一个handler = logging.StreamHandler(sys.stdout),然后接收我的格式。

如何让它在异常信息之上接收我的消息。我确实想保留 StreamHandler,因为它用于分配格式化程序。

【问题讨论】:

    标签: python logging python-logging


    【解决方案1】:

    在格式化时我没有将消息仅包含在 exc_info 中,这是一个愚蠢的错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-23
      • 1970-01-01
      • 2013-06-18
      • 1970-01-01
      • 2012-03-23
      • 2013-10-02
      • 2020-10-04
      相关资源
      最近更新 更多