Django 集成logging 日志提示:ValueError: Unable to configure handler ‘file‘

本文介绍了如何在Python 3与Django 2项目中配置logging,遇到错误后提供了解决方案,包括在项目目录创建logs文件夹。重点讲解了settings.py中的配置步骤和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:今天使用Python3 + Django2 项目集成logging 日志记录,提示如下截图错误信息:

 解决版本:在项目目录根路径建立一个logs文件夹来存放日志即可。

 Python3 + Django2 +logging 简单日志配置,相关步骤总结

1、在项目settings.py 文件中,添加os 功能模块依赖和logging 日志记录配置

import os #添加os 模块依赖

...... # 省略其他配置

# logging 简单日志配置
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'file': {
            'level': 'DEBUG',
            'class': 'logging.FileHandler',
            'filename': os.path.join(BASE_DIR, 'logs/debug.log'),
        },
    },
    'loggers': {
        'django': {
            'handlers': ['file'],
            'level': 'DEBUG',
            'propagate': True,
        },
    },
}

字典中的version指明了配置的版本;disable_existing_loggers指明是否禁止默认配置的记录器。这两项通常不需要去改动,重点看下loggershandlers的配置:

  • 消息首先传递给logger。Django中内置了几种记录器,比如这里用到的Django记录器,它会接收Django层次结构中的所有消息。然后我们定义了需要处理DEBUG以上级别的消息,并把这些消息传递给名叫file的处理器。'propagate': True意思是本记录器处理过的消息其他处理器也可以继续处理。
  • 现在消息来到名叫filehandlers中了。这个处理器定义了消息处理级别仍然为DEBUG,在class中定义将消息输出到文件中去,文件地址为项目目录的logs/debug.log
  • 因为这里没有配置filtersformatters,因此会采用默认的设置。

需要注意的是日志的输出文件的目录logs/一定要提前创建好,并且确保项目拥有此目录的写入权限。

简单查看日志生成消息截图:

 备注:不推荐使用简单日志记录配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值