如何使用 f-string 样式设置 python.logging 格式

How to setup python.logging format using f-string style

我正在使用 python 3.7 编写一个应用程序,并且只想在其中使用 f-strings

我正在使用 python 日志记录模块来正确记录我的应用程序,我想使用特定格式,但文档(和网络)仅举例说明如何使用 %- 更改格式字符串。 我想知道是否有使用 f-strings

设置记录器格式的选项
LOG_FORAMT = ('%(levelname)s -10s %(asctime)s -10s %(message)s') # Known example

f-LOG_FORMAT = (f'{logger.levelname} -10s') # Something like that?

您可以初始化 logging.Formatter,将参数 style 设置为 "{"

例子

formatter = logging.Formatter("{processName:<12} {message} ({filename}:{lineno})", style="{")

样式的可用选项是 documented

在此之后将格式化程序附加到处理程序并将处理程序添加到所需的记录器。

如果您使用的是logging.basicConfig,您可以通过以下方式设置它:

logging.basicConfig(format="{processName:<12} {message} ({filename}:{lineno})", style="{")