我想动态更改python日志文件。我可以通过删除现有的处理程序,然后添加一个新的处理程序来做到这一点:
for hdlr in log.handlers: # remove all old handlers
log.removeHandler(hdlr)
log.addHandler(fileh)
但是,如果我的记录器有多个处理程序,比如流处理程序,旋转文件处理程序,我想删除
答案 0 :(得分:2)
想出我们可以找到文件流的类来删除选择性处理程序:
for handler in logger:
if handler.__class__.__name__ == 'FileHandler':
logger.removeHandler(handler)
答案 1 :(得分:0)
记录器不可迭代。它必须是logger.handlers。
for handler in logger.handlers:
if handler.__class__.__name__ == 'FileHandler':
logger.removeHandler(handler)