繁体   English   中英

如何根据 Python 日志记录中的严重性格式化日志消息?

[英]How can I format log messages based on severity in Python's logging?

通过阅读有关日志记录的文档,我知道我可以使用basicConfig来设置日志记录的格式,例如:

import logging

logging.basicConfig(format="%(levelname)s - %(message)s")

例如。

我的问题是,我可以为不同的级别指定不同的格式吗? 我想要实现的是将日志记录格式化为 Azure Pipelines 日志命令,以便例如 Python 代码:

logging.error("some error")

将打印为:

##[error]some error

现在我知道我可以使用%(levelname)但我不想依赖 Azure Pipelines 日志命令与 Python 的“日志”模块之间的对应关系。 例如,在 Python 的日志记录中有info级别,但在 Azure Pipelines 中没有。

我认为实现这一目标的最佳方法是在日志记录模块之上构建您自己的包装类。

这里建议类似的方法。

有一个专门用于 Python 日志记录Azure 文档,您可能会发现它很有用。 如果我理解正确(我从未使用过 Azure),您应该能够将 Python 日志发送给它而无需执行任何特殊操作。

但是,作为此 Azure 图表一部分显示的日志消息显然有些不同。 如果您希望您的消息显示为这样,一种选择是使用 Azure 喜欢的级别名称设置一些自定义级别。 您引用的文档有一个关于此部分,尽管它警告不要在复杂的库中执行此操作。

如果您想重用标准级别,但重命名“信息”->“命令”等,您可能需要为每个此类重命名单独的格式化程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM