1
我有這樣一個log.ini:Python日誌記錄爲ini文件中的處理程序添加過濾器?
[handler_info]
class=StreamHandler
level=INFO
formatter=fmt
filter=infofilter
args=(sys.stdout,)
[handler_error]
class=StreamHandler
level=ERROR
filter=errorfilter
formatter=fmt
args=(sys.stdout,)
[filter_infofilter]
class=util.testfm.InfoFilter
[filter_errorfilter]
class=util.testfm.ErrorFilter
但是這麼想的工作。我不想動態添加過濾器像handler.addFilter(logging.Filter('foo'))
我的過濾器這樣的處理程序:
class InfoFilter(logging.Filter):
def filter(self, rec):
return rec.levelno <= logging.INFO
class ErrorFilter(logging.Filter):
def filter(self, rec):
return rec.levelno > logging.INFO
我想實現什麼?我想用一個記錄器和兩個不同的處理程序將不同級別的日誌寫入不同的文件。
我也發現「如果你需要在你的日誌配置中有Filter的實例,你需要在https://docs.python.org/2/library/logging.config.html中使用dictConfig()」。