Python logging 使用时报错:AttributeError: module ‘logging‘ has no attribute ‘config‘

博主在项目中遇到Python的logging模块配置问题,最初使用yaml配置文件时出现解析错误,后改为ini或conf格式。在尝试加载logging.conf配置文件时,出现AttributeError,找不到logging.config。解决方案是通过导入logging.config子模块来正确加载配置,问题得到解决。

最近优化个项目,打算把代码中的 print 都换成用日志模块进行处理。
日志模块选择了 Python 自带的 logging 日志模块。
通过配置文件的方式对日志模块进行配置。

最开始的时候使用的是 yaml 类型的配置文件,但总报类似解析问题的错误(具体是什么当时没有记录),尝试了几次后发现没有什么有用的资料,就放弃了种方式,改用了 ini 或 conf 这种方式了。但,如题又遇到了别的问题。

在使用下面语句加载进行配置:

import logging
import os
logging.config.fileConfig(fname=os.path.abspath("logging.conf"), disable_existing_loggers=False)

logging.conf 文件内容如下:

[loggers]
keys=root

[handlers]
keys=consoleHandler,fileHandler

[formatters]
keys=simpleFormatter

# ---------- logger ----------

[logger_root]
level=DEBUG
handlers=consoleHandler,fileHandler

# ---------- handler ----------

[handler_consoleHandler]
class=StreamHandler
level=DEBUG
formatter=simpleFormatter
args=(sys.stdout,)

[handler_fileHandler]
class=FileHandler
level=INFO
formatter=simpleFormatter
args=('info.log','a')

# ---------- formatter ----------

[formatter_simpleFormatter]
format=%(asctime)s %(filename)s %(levelname)s %(message)s
datefmt=%Y-%m-%d %H:%M:%S

上面都不是重点,重点是报下面的错误了:

Traceback (most recent call last):
  File "D:\Develop\Tools\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 3444, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-2-690e1cd92ab7>", line 1, in <module>
略……
AttributeError: module 'logging' has no attribute 'config'

logging 的确就是 Python 安装路径下 Lib 里的 logging ,就是没有 config, 我也不知道为什么。看网上有说是自己项目里的某个模块或文件也叫 logging ,把系统默认的给覆盖了。

下面换了个写法,就可以了。

import os
import logging
import logging.config as log_config

# 定义日志配置文件
log_config.fileConfig(fname=os.path.abspath("../../config/logging.conf"), disable_existing_loggers=False)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值