python - Django:如何让日志记录工作?

标签 python django logging

我已将以下内容添加到我的 settings.py 文件中:

import logging
...
logging.basicConfig(level=logging.DEBUG,
    format='%(asctime)s %(levelname)s %(message)s',
    filename=os.path.join(rootdir, 'django.log'),
    filemode='a+')

在 views.py 中,我添加了:

import logging
log = logging.getLogger(__name__)
...
log.info("testing 123!")

很遗憾,没有创建日志文件。知道我做错了什么吗?而且它们是我应该用于记录的更好方法吗?我在 Webfaction 上这样做。

最佳答案

Django 的 Python 日志记录在像 Webfaction 这样的地方很好。如果您使用的是基于云的提供商(例如 Amazon EC2),那里有许多服务器,那么可能值得考虑记录到键值数据库或使用 Python 通过网络进行日志记录。

您在 settings.py 中的日志设置代码看起来不错,但我会检查您是否可以写入 rootdir——您的系统日志可能会显示错误,但更有可能是 Django 会抛出一个如果无法正确记录,则为 500。

这让我注意到我的日志记录(也在 WebFaction 上)的唯一主要区别是我做的:

import logging
logging.info("Something here") 

代替 log.info

关于python - Django:如何让日志记录工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2843092/

相关文章:

python - 如何修复部署在 AWS EC2 中但 CSS 和照片不起作用的 Django 元素

python - db.TextProperty() 上的 "BadValueError: Property xxxx is not multi-line"

java - 线程完成时 Log4j 追加到日志文件

Linux 内核 : logging to a specific file

python - 在带有 Python 或 IPython 的 Emacs 'python-mode' 中使用多个 Python shell

python - 与 Python 安装的模块不匹配

python - 如何使用 numpy.all() 或 numpy.any()?

python - Matplotlib 中的 MonthLocator

sql - 忽略 Django ORM 查询中的基本模型

Hibernate 4.3.6 日志记录不适用于 log4j2