Django 日志记录错误:未创建日志文件
Posted
技术标签:
【中文标题】Django 日志记录错误:未创建日志文件【英文标题】:Django logging error: Log file not created 【发布时间】:2020-05-14 19:20:21 【问题描述】:在运行 Django 项目时,我收到以下错误:
由 Traceback 启动的线程中未处理的异常(最后一次调用):文件 “/usr/local/lib/python2.7/dist-packages/django/utils/autoreload.py”, 第 229 行,在包装器中 fn(*args, **kwargs) 文件 "/usr/local/lib/python2.7/dist-packages/django/core/management/commands/runserver.py", 第 107 行,inner_run autoreload.raise_last_exception() 文件“/usr/local/lib/python2.7/dist-packages/django/utils/autoreload.py”, 第 252 行,在 raise_last_exception 中 六.reraise(*_exception) 文件“/usr/local/lib/python2.7/dist-packages/django/utils/autoreload.py”, 第 229 行,在包装器中 fn(*args, **kwargs) 文件“/usr/local/lib/python2.7/dist-packages/django/init.py”,第 17 行, 在设置中 configure_logging(settings.LOGGING_CONFIG, settings.LOGGING) 文件“/usr/local/lib/python2.7/dist-packages/django/utils/log.py”, 第 86 行,在 configure_logging logging_config_func(logging_settings) 文件“/usr/lib/python2.7/logging/config.py”,第 794 行,在 dictConfig dictConfigClass(config).configure() 文件“/usr/lib/python2.7/logging/config.py”,第 576 行,在配置中 '%r: %s' % (name, e))
ValueError:无法配置处理程序“ap_migration_log”:[Errno 2] 没有这样的文件或目录: '/home/dg/Desktop/dg_coco/coco-server/geographies/management/commands/log/ap_migration_log'
我在 *** 上找到的一个解决方案是创建这些文件,然后就不会发生此错误。但是,为什么 Django 不能在需要时自行创建日志文件?是否有任何配置设置或命令来确保日志文件不是手动创建的?
【问题讨论】:
你读过docs.djangoproject.com/en/3.0/topics/logging。我想你可以在这里找到你的解决方案 【参考方案1】:确保如果您将日志写入/my/log/dir/log.txt
,则该路径与空的log.txt
文件一起存在。还要确保您的目录具有执行 CRUD 操作的正确权限。文件也是如此。
最好将日志文件存储在 /var/log/ 目录中。
查看https://docs.djangoproject.com/en/3.0/topics/logging/#configuring-logging 以获取有关 Django 日志记录工作原理的示例。
【讨论】:
以上是关于Django 日志记录错误:未创建日志文件的主要内容,如果未能解决你的问题,请参考以下文章
仅在出现错误时创建 Python 日志文件(使用日志记录模块)