我有一个带有多个处理程序的记录器,它们有自己的格式化程序。现在我想添加一个缩进功能,在运行时控制缩进级别。我希望来自所有处理程序的消息获得此缩进。我尝试将其创建为过滤器,但发现我似乎无法更改消息内容。然后我尝试将其用作格式化程序,但每个处理程序只能有一个。如何在不显式更改每个处理程序的格式化程序的情况下添加此类缩进?
我应该提到我拥有的格式化程序之一是一个为输出添加颜色的类。它不是一个简单的格式字符串。
此外,我正在使用配置文件。理想情况下,我希望能够主要从那里驾驶它。但是,我需要修改缩进格式化程序的状态(例如设置缩进级别),但我不知道如何访问该特定格式化程序,因为没有logger.getFormatter("by_name")方法。
澄清一下,我需要访问特定的格式化程序实例,主要是为了即时调整格式。该实例已通过文件中的 logging.config 创建。我没有找到任何允许我根据其名称获取特定格式化程序的访问器方法。