如何在生产环境中查看Django日志

4

我正在生产环境中部署一个Django项目,当然是使用DEBUG=False。如何像在开发环境中一样查看所有Django日志?

我已经配置了一个记录器,但我只能在文件中看到自定义日志。默认的那些在哪里?

1个回答

8

您需要配置django模块的记录器,以便将记录路由到文件。示例:

LOGGING = {                                                                                                                 
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'logfile': {
            'class': 'logging.FileHandler',
            'filename': 'server.log',
        },
    },
    'loggers': {
        'django': {
            'handlers': ['logfile'],
        },
    },
}

请查看Django日志记录器列表,了解其他Django提供的日志记录器。


使用这个配置,我能在文件中看到所有的日志(就像在开发终端中)吗? - user7804233
如果在配置字典的记录器/处理程序部分将“level”设置为“DEBUG”,则您将看到开发控制台中看到的所有内容,甚至更多(例如数据库查询)。但是,在生产中使用调试级别是不鼓励的,因为它可能泄露内部数据 - 这与在生产环境中使用“DEBUG = True”并没有太大区别。 - hoefling
@hoefling 谢谢,你能否请添加一个链接,说明你是在哪里找到这个“格式”的方式 =?:) 谢谢,我很感激。 - PolarBear10
@matthew 你的意思是将它添加到答案中吗?你引用的页面包含多个配置示例(请查看示例部分);关于日志字典配置的一般规范,这里是来自Python文档的页面:配置字典模式 - hoefling
@hoefling 是的先生 :) 这些链接非常有帮助,可以理解字典结构。 - PolarBear10
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接