问题背景:
在使用logging 模块记录的时候发现其只在控制台输出文字,而在文档里的输出唯一片空白
问题描述及问题成因:
在查实代码无误后(代码如下)
logging.basicConfig(
level=logging.INFO, format=FORMAT,
datefmt="%Y/%m/%d %H:%M",
handlers=[logging.FileHandler(os.path.join(save_path, "log_train.txt"),mode='a'),
logging.StreamHandler(sys.stdout)])
进行网上冲浪,发现主要原因是logging的basicConfig方法被该次调用之前就已经被调用过,即使用过该方法或者使用过logging.info() 的类似记录方法,但我确信没有使用过,在查找之后发现有个库叫
albumentations
在import 这个库的时候,发现其中设置过basicConfig,真坑
解决方案:
1 直接注释掉
2在第二次配置的时候额外加入参数force = True 来进行参数覆盖,不然该方法不支持再次配置
结论及重点:
仔细注意自己在import 的时候有没有坑