设置:
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日志/错误消息,所以看来本地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
答案 0 :(得分: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')