Ich habe eine log.ini wie folgt aus:Python Logging Filter für Handler in Ini-Datei hinzufügen?
[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
Aber es dosen't Arbeit. Und ich will nicht, um dynamische Add-Filter für den Handler wie handler.addFilter(logging.Filter('foo'))
Mein Filter wie folgt aus:
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
Was ich erreichen will? Ich möchte einen Logger und zwei verschiedene Handler verwenden, um verschiedene Level-Logs in verschiedene Dateien zu schreiben.
Ich finde auch "Wenn Sie Instanzen von Filter in Ihrer Protokollierungskonfiguration benötigen, müssen Sie dictConfig()" in https://docs.python.org/2/library/logging.config.html verwenden.