gpt4 book ai didi

python - 当我使用 Python 的 logging.handlers.SysLogHandler 时,Syslog 消息显示为 "Unknown"

转载 作者:太空狗 更新时间:2023-10-29 17:55:58 25 4
gpt4 key购买 nike

当我在我的 mac 上运行它时:

import logging.handlers
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)

syslog_address = '/var/run/syslog'
logger.addHandler(logging.handlers.SysLogHandler(syslog_address))
logger.error("What the crap?")

它在系统日志中显示如下:

Oct 18 19:02:06 nick Unknown[4294967295] <Error>: What the crap?

为什么它是未知的?以脚本的名称命名自己不应该足够聪明吗?

最佳答案

我认为 APP-NAME(表示来源)是 syslog header 中的可选组件。最新版本的 SysLogHandler(适用于 Python 3.3)包括对 APP-NAME(根据 C 系统日志 API 称为 ident)的支持,但它在早期版本中不可用。参见 this Python issue .

如果您将脚本名称添加到所有消息之前,您将获得所需的效果。例如,

logger.error('foo: What\'s up?')

将显示例如

19/10/2011 13:51:17 foo[2147483647] What's up?

在日志中。

关于python - 当我使用 Python 的 logging.handlers.SysLogHandler 时,Syslog 消息显示为 "Unknown",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7815811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com