您的位置:首页 > 编程语言 > Python开发

logging的陷阱:python使用logging不能写日志,写不出日志

2017-08-13 21:05 681 查看

问题

我自己写了两个模块request和checkcode,这两个中都引用了logging进行记录日志.

当分别使用request和checkcode时均没有问题,但是,将两个模块都导入后,写日志就出现异常.总是一个能写日志,一个不能写日志.

原因

因为两个文件中都是使用logging配置文件的方式创建logger,而且这两个模块都使用的不是同一个配置文件,所以,执行了两遍
logging.config.fileConfig(log_conf_file)
.

我认为,使用
logger = logging.getLogger('checkcode')
获取到一个Logger,这是一个实例,你使用
logger.info('this is a info msg')
时,该Logger中并太多的配置信息,所以还是要读配置文件.

当你再导入另一个模块,就会又执行了一遍
logging.config.fileConfig(log_conf_file_A)
,这是就把logging的配置文件又重新刷新.当你再想写之前的
logger.info('this is a info msg')
时,因为读配置文件又读不到想要的相关配置,所以导致写日志失败.

注:该分析未经证实,仅供参考.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息