在 Django 中引发异常时写入日志文件的最佳方法是什么?

当 Django 应用程序中发生任何异常时写入日志文件的最佳方法是什么,而无需对视图中的每个函数进行硬编码,即中间件?


例如,当在视图中出现 DatabaseError、ValueError、Integrity 错误时。


我需要一些可以在生产和开发中使用 DRY 概念的东西。


import logging


logger = logging.getLogger(__name__)


def my_view(request, arg1, arg):

    ...

    if bad_mojo:

        # Log an error message

        logger.error('Something went wrong!')


12345678_0001
浏览 67回答 1
1回答

慕尼黑的夜晚无繁华

您可以使用日志。这是一个触发WARNING和更重要级别的示例配置。(取自 Django 3.0 文档)这进入你的settings.pyLOGGING = {    'version': 1,    'disable_existing_loggers': False,    'handlers': {        'file': {            'level': 'WARNING',            'class': 'logging.FileHandler',            'filename': '/path/to/django/debug.log',        },    },    'loggers': {        'django': {            'handlers': ['file'],            'level': 'WARNING',            'propagate': True,        },    },}由于级别设置为WARNING,三种类型的级别将触发记录器,即WARNING,ERROR和CRITICAL。此外,我们已经使用django(作为记录器)来利用 Django 的万能记录器。它将允许我们创建一个更具可读性的日志,因为错误将在日志文件中被正确分类(如模板、数据库等)。您可以在此处阅读有关它们的更多信息。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python