部署在 Ubuntu/Apache 服务器上时,Django 日志记录不工作

标签 django apache python-2.7 logging

我的 Django Logger 在我的本地计算机上工作正常,但当我将其部署到服务器时无法工作。

  • 本地:OS X 10.9.5、Python 2.7.5、Django 1.6.2
  • 服务器:Ubuntu 12.04、Apache 2.2.22、mod_wsgi 版本:3.3-4ubuntu0.1、​​Python 2.7.3、Django 1.6

在我的本地设置中,我运行python manage.pysyncdb,这会创建survey.log文件,然后我使用tail -f Survey.log跟踪该文件,这样我就可以查看创建时的错误消息。

在我的服务器上,我运行python manage.pysyncdb,这会创建survey.log文件,然后我使用tail -f Survey.log跟踪该文件。但是,我看不到任何调试消息,并且当我使用 nano 检查文件时,它是空的。

为什么在我的生产环境中没有将日志数据记录到 survey.log 中?我错过了什么?

views.py

import logging
logger = logging.getLogger(__name__)


logger.debug('This is your images list in 7: %s', images)

settings.py

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'filters': {
        'require_debug_false': {
            '()': 'django.utils.log.RequireDebugFalse'
        }
    },
    'handlers': {
        'mail_admins': {
            'level': 'ERROR',
            'filters': ['require_debug_false'],
            'class': 'django.utils.log.AdminEmailHandler'
        },
        'applogfile': {
            'level':'DEBUG',
            'class':'logging.handlers.RotatingFileHandler',
            #'filename': os.path.join(DJANGO_ROOT, 'survey.log'),
            'filename': 'survey.log',

            'maxBytes': 1024*1024*15, # 15MB
            'backupCount': 10,
        }
    },
    'loggers': {
        'django.request': {
            'handlers': ['mail_admins'],
            'level': 'ERROR',
            'propagate': True,
        },
        'survey': {
            'handlers': ['applogfile',],
            'level': 'DEBUG',
        },
    }
}
<小时/>

编辑

我现在发现我的 Django 错误日志正在写入我的 Apache 错误日志。这正常吗?

正在运行

sudo tail /var/log/apache2/error.log

为我提供了我应该在上面的 Django 错误日志文件中获得的预期打印输出。例如

[15/Dec/2014 21:36:07] DEBUG [survey:190] This is your images list in 7: ['P3D3.jpg', 'P1D1.jpg', 'P5D5.jpg']

最佳答案

您没有在views.py中使用正确的记录器。试试这个:

import logging
logger = logging.getLogger('survey')
logger.debug('This is a debug message.')

您获得的记录器必须与LOGGING中定义的记录器匹配。

关于部署在 Ubuntu/Apache 服务器上时,Django 日志记录不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27393399/

相关文章:

python - BeautifulSoup 在 Amazon EC2 机器上的行为有所不同

ios - Django 和 iOS 中的 CSRF token

django - 连接到 Django 后端的 AWS Postgres 实例

apache - DBus 是我要找的吗?

http - 无法分配请求的地址 : make_sock: could not bind to address

python - 提取列表值的一些感兴趣的部分

python - 如何在 django rest 框架中保存嵌套关系?

python - 没有函数与给定名称和参数类型匹配 - PGCrypto

mysql - Django MySQL 连接中的 SSL 错误(2026 SSL_CTX_set_tmp_dh 失败)

php - Nginx 1.11 - nginx.conf 文件已更改