gpt4 book ai didi

python - Python 的日志记录格式字符串是如何工作的?

转载 作者:太空宇宙 更新时间:2023-11-04 09:49:56 25 4
gpt4 key购买 nike

我看过the docs但我不明白。

当我有一个像这样的日志格式化字符串时

'%(asctime)s %(levelname)-8s %(name)-15s %(message)s'

括号后的 s 是什么意思? -8s 有什么影响?

从输出来看,我认为是字符串的最小长度。但是为什么不是通常的格式化语法

'{asctime} {levelname:<8} {name:<15} {message}'

用过吗?

是否可以在其中包含自定义值(例如,标识当前处理的元素类型的 ID),或者这是否必须包含在消息中?

最佳答案

But why is not the usual formatting syntax used?

你可以使用它。配置日志记录时,只需指定关键字参数 style='{' 即可。他们没有将其更改为默认值,以保持向后兼容(日志记录模块早于 str.format 样式格式)

what does the s after the parentheses mean?

“s”表示使用普通的s字符串表示。将“d”与 d 数字进行比较。这是 printf 风格的语法。

What effect has -8s?

左对齐,填充到8宽度

>>> '%(foo)-8s' % {'foo': 'hello'}
'hello '

Is it possible to have custom values in there (e.g. an ID which identifies what type of element was currently handled), or does this have to be in the message?

是的,但不要费心尝试让 stdlib 日志记录来做这些事情。直接转structlog .

关于python - Python 的日志记录格式字符串是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48190993/

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