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

kak*_*dol 6 python-3.x python-3.6 f-string python-3.7 python-logging

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

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

LOG_FORAMT = ('%(levelname)s -10s %(asctime)s -10s %(message)s') # Known example

f-LOG_FORMAT = (f'{logger.levelname} -10s') # Something like that?
Run Code Online (Sandbox Code Playgroud)

小智 11

您可以logging.Formatter使用style设置为 的参数进行初始化"{"

例子

formatter = logging.Formatter("{processName:<12} {message} ({filename}:{lineno})", style="{")
Run Code Online (Sandbox Code Playgroud)

记录了样式的可用选项。

在此之后,将格式化程序附加到处理程序并将处理程序添加到您想要的记录器中。

如果您正在使用,logging.basicConfig您可以通过以下方式进行设置:

logging.basicConfig(format="{processName:<12} {message} ({filename}:{lineno})", style="{")
Run Code Online (Sandbox Code Playgroud)