You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用dictConfig配置Python logging报错:FileHandler无split属性

解决logging dictConfig配置时的AttributeError问题

这个错误的根源是一个很容易忽略的细节:你在配置文件处理器的class字段时,传入了类对象而非字符串形式的类路径。

看报错信息里的关键提示:AttributeError: type object 'FileHandler' has no attribute 'split'——dictConfig内部会对class字段的值调用split('.')来解析类的模块路径,但你直接传了logging.FileHandler这个类对象,它自然没有split方法,所以触发了错误。

修复方法

只需要把handler配置里的class值改成字符串形式的类全名即可:

logfile_handler_conf = {
    "class": "logging.FileHandler",  # 这里改为字符串形式的类路径
    "level": logging.DEBUG,
    "formatter": "verbose_formatter",
    "filename": "logfile.txt",
    "mode": "w",
    "encoding": "utf-8",
}

额外提醒

还有个小问题需要注意:你最后获取日志器用的是logging.getLogger(__name__),但你的配置里只定义了名为"verbose_file_logger"的日志器。如果想让当前模块的日志使用你配置的文件处理器,需要改成:

logger = logging.getLogger("verbose_file_logger")

或者调整配置里loggers的键为当前模块的__name__,或者配置root日志器来应用全局规则。

内容的提问来源于stack exchange,提问作者fleetingbytes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:35:02