6

我正在使用 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?
4

1 回答 1

12

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

例子

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

样式的可用选项已记录在案

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

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

logging.basicConfig(format="{processName:<12} {message} ({filename}:{lineno})", style="{")
于 2019-11-05T15:30:16.103 回答