问题:将logging设定为了INFO级别,但是在打印的时候发现jieba包中的DEBUG级别的信息还是出现了。
原因:在我引用的包中,一些python文件也使用了logging,我设定的INFO级别只能设定我当前使用的文件,而调用的包里面的仍旧沿用之前的日志级别
解决办法:
首先打印出所有的logging
import logging
import datetime
import jieba# 设置基本的日志配置
logging.basicConfig(level=logging.INFO,format='%(asctime)s - %(levelname)s - %(message)s',filename=f'./lmaplog/{datetime.datetime.now().strftime("%Y-%m-%d")}.log',filemode='w')# 打印所有日志记录器的名称和级别
for name, logger in logging.Logger.manager.loggerDict.items():print(f"Logger Name: {name}, Level: {logger.level}")
然后将这些日志级别设定为INFO
import logging
import datetime
import jieba# 设置基本的日志配置
logging.basicConfig(level=logging.INFO,format='%(asctime)s - %(levelname)s - %(message)s',filename=f'./lmaplog/{datetime.datetime.now().strftime("%Y-%m-%d")}.log',filemode='w')# 获取 jieba 使用的日志记录器
jieba_logger = logging.getLogger('jieba')# 将 jieba 的日志级别设置为 INFO
jieba_logger.setLevel(logging.INFO)