django - 如何将 Django 警告和错误记录到生产中的日志文件中?

标签 django logging error-logging

我想要实现的是将生产中发生的警告和错误(即 DEBUG=False)记录到循环日志文件中。

我试过了

    LOGGING = {
        'version': 1,
        'disable_existing_loggers': True,
        'handlers': {
            'file': {
                'level': 'WARNING',
                'class': 'logging.FileHandler',
                'filename': 'staging.log',
            },
        },
        'loggers': {
            '': {
                'handlers': ['file'],
                'level': 'WARNING',
                'propagate': True,
            },
            'django': {
                'handlers': ['file'],
                'level': 'WARNING',
                'propagate': True,
            },
            'django.request': {
                'handlers': ['file'],
                'level': 'WARNING',
                'propagate': True,
            },
        },
    }

但是,上面的内容会记录所有内容,而不仅仅是日志级别 WARNING 及以上的消息。

最佳答案

您可以关注 django 记录器 here .

在你的views.py中:

import logging
logger = logging.getLogger(__name__)

然后您可以使用logger.error()logger.warning()logger.info()进行记录。 它将在您的主项目目录中创建一个记录器文件,并列出所有日志记录详细信息。

看这个:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'verbose': {
            'format': '{levelname} {asctime} {module} {process:d} {thread:d} {message}',
            'style': '{',
        },
        'simple': {
            'format': '{levelname} {message}',
            'style': '{',
        },
    },
    'handlers': {
        'logfile': {
            'level': 'DEBUG',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': "yourproject_name.log",
            'maxBytes': 100000,
            'backupCount': 2,
            'formatter': 'verbose',
        },
    },
    'loggers': {
        'django': {
            'handlers': ['logfile'],
            'level': 'INFO',
            'propagate': True,
        },
        'apps': {
            'handlers': ['logfile'],
            'level': 'DEBUG',
            'propagate': True,
        },
    },
}

关于django - 如何将 Django 警告和错误记录到生产中的日志文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62019356/

相关文章:

Django Rest 框架 imagefield 可选

django - 如何使用 django http 重定向创建一个简单的强制门户?

go - 将 Elasticsearch 与 Logrus 集成(golang 日志记录)

python - Python 中跨记录器的嵌套前缀

php - 在 PHP5 中记录致命/解析错误

logging - 使用 AWS 作为应用程序日志记录数据库

python - Django,在wsgi.py中使用条件设置模块

android - 对于团队来说,最好的 Android 日志策略是什么?

python - 你如何在 django 网站上记录服务器错误

python - Django:将公共(public)字段存储在父模型中