【问题标题】:Python logging works in shell, but not in viewsPython 日志记录在 shell 中有效,但在视图中无效
【发布时间】:2017-09-09 08:03:43
【问题描述】:

我一直在关注Django Logging docs,但一直无法生成日志。所有这些都在一个 virtualenv 中。

我的 views.py 文件包含

import logging
logger = logging.getLogger(__name__)

def index(request):
    logger.debug('Index page')
    return render(request, 'app/index.html')

在 settings.py 我有:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'file': {
            'level': 'DEBUG',
            'class': 'logging.FileHandler',
            'filename': '/pathtologfile/debug.log',
        },
    },
    'loggers': {
        '': {
            'handlers': ['file'],
            'level': 'DEBUG',
            'propagate': True,
        },
    },
}

当我导航到索引页面时,views.py 的日志文件中没有出现任何日志。

但是,如果我使用 django shell 执行以下命令,日志将显示在日志文件中:

>>>import logging
>>>logger = logging.getLogger(__name__)
>>>logger.debug('shell')

如何从 view.py(或任何相关文件)获取日志?

我尝试了以下没有结果:

我的设置有什么问题吗?有什么地方可以开始调试这个吗?

【问题讨论】:

    标签: python django django-logging


    【解决方案1】:

    即使我也面临同样的问题!只需使用以下设置:

    LOGGING = {
        'version': 1,
        'disable_existing_loggers': True,
        'formatters': {
            'standard': {
                'format': '%(asctime)s [%(levelname)s] %(name)s: %(message)s'
            },
        },
        'handlers': {
            'default': {
                'level': 'DEBUG',
                'class': 'logging.FileHandler',
                'filename': 'debug.log',
            },
        },
        'loggers': {
            '': {
                'handlers': ['default'],
                'level': 'DEBUG',
                'propagate': True,
            },
        },
    }
    

    debug.log 文件将在 django 项目的根文件夹中创建(manage.py 所在的位置)

    【讨论】:

    • 我仍然得到与以前相同的结果:在 shell 中完美运行,但没有来自 views.py 的日志
    • 我已在日志记录设置中将密钥文件替换为默认值。检查这是否有效。
    • 这似乎没有任何改变。我认为我错过了一些更大的事情,如果我将垃圾放入任何 .py 文件中,该网站会继续运行,就好像没有任何改变一样。就好像我正在编辑的文件对网站没有影响一样。
    猜你喜欢
    • 2019-01-06
    • 2021-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-20
    • 1970-01-01
    相关资源
    最近更新 更多