我可以在 python 日志记录中使用 ContextFilters 来根据模块名称更改日志级别吗?所以像
class ContextFilter(logging.Filter):
CMDID_cf="IAMTEST1"
def __init__(self, CMDID1):
self.CMDID_cf=CMDID1
def filter(self,record):
record.CMDID=self.CMDID_cf
return True
def moduleFilter(self):
//something like below//
if(modulename=="something")
setLevel(logging.ERROR)
#MAIN
**define logger**
obj=ContextFilter()
logging.addFilter(obj.modukeFilter)
在 python 文档中,我还没有真正找到任何关于此的信息,因此任何指向此问题的帮助都会很棒。
最佳答案
记录在案的适当方式 here ,是使用以 __name__
命名的模块级记录器,然后在日志记录配置中根据需要设置其级别。无需为此使用Filter
。
关于python 模块级别日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20345027/