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

Posted 在奋斗的大道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django 集成logging 日志提示:ValueError: Unable to configure handler ‘file‘相关的知识,希望对你有一定的参考价值。

问题描述:今天使用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/一定要提前创建好,并且确保项目拥有此目录的写入权限。

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

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

以上是关于Django 集成logging 日志提示:ValueError: Unable to configure handler ‘file‘的主要内容,如果未能解决你的问题,请参考以下文章

Django 集成Redis缓存库

Django中Logging日志配置

Django之logging日志

Django日志 logging

Django之logging日志

java日志统一集成的两种方案