是否可以将参数传递给自定义logging.handler 在json配置文件中初始化?
"handlers": { "custom_handler": { "class": "logging.CustomHandler", "args": ['a', 'b'] # <------------------------ "level": "INFO", "formatter": "custom" } },
class CustomHandler(logging.Handler): def __init__(self, argA, argB): super().__init__() self.a = argA self.b = argB def emit(self, record): <Some code>
处理程序部分中不是 class level , formatter filters 作为关键字参数传递给处理程序构造函数。例子:
class
level
formatter
filters
"handlers": { "custom_handler": { "class": "logging.CustomHandler", "level": "INFO", "formatter": "custom", "argA": "spam", "argB": "eggs" } }
班 , 水平 , 格式化程序 或
班
水平
格式化程序
资料来源: Configuration dictionary schema