没有看到我的日志消息 - Django/Apache/mod_wsgi

Not seeing my log messages - Django/Apache/mod_wsgi

设置:

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

我已将以下内容添加到我的 views.py

logger = logging.getLogger(__name__)

但是,我在 debug.log 中没有看到任何日志消息。我确实看到了一些 Django logs/error 消息,因此本机 Django 日志记录似乎正在运行。

这是我希望看到的日志消息示例:

try:
    response.raise_for_status()
except requests.exceptions.HTTPError as e:
    logger.debug("get_thumbnails call failed: ", e)

httpd.conf

#
# LogLevel: Control the number of messages logged to the error_log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
#
LogLevel debug

mod-wsgi版本为4.6.4 Django 版本是 2.1

Django 自带一个 in-built logger。使用它来生成日志。

示例

# settings.py
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'file': {
            'level': 'DEBUG',
            'class': 'logging.FileHandler',
            'filename': '/path/to/django/debug.log',
        },
        'your_handler': {
            'level': 'DEBUG',
            'class': 'logging.FileHandler',
            'filename': '/path/to/logs'
        }
    },
    'loggers': {
        'django': {
            'handlers': ['file'],
            'level': 'DEBUG',
            'propagate': True,
        },
        'your_logger': {
            'handlers': ['your_handler'],
            'level': 'DEBUG',
            'propagate': True
        }
    },
}

编辑

更新了上面的代码以包含一个名为 your_logger 的自定义记录器,您可以从视图中使用它来写入。

查看:

logger = logging.getLogger('your_logger')