【发布时间】:2021-03-07 03:11:54
【问题描述】:
logging 模块是维护干净的程序记录器的一种巧妙方法,具有可自定义的内容,例如消息格式。还有一点我不清楚:如何为传递给 Logger 类方法(例如logger.info或logger.debug)之前它们被合并到msg格式字符串中?。
例如,考虑以下简单情况:
import logging
from termcolor import colored
# regular logging
logging.basicConfig(level="INFO", format="%(levelname)s\t%(message)s")
logging.info("Hello, %s", "world")
# same with explicitely using bold format for the argument
logging.info("Hello, %s", colored("world", attrs=["bold"]))
导致以下输出:
INFO Hello, world!
INFO Hello, world!
有没有一种方法可以为传递给记录器方法的每个附加参数的所有格式指定一次,而无需手动更改每个日志记录?
【问题讨论】:
-
实现你自己的
Formatter?