gpt4 book ai didi

django - 如何将我的 Django 日志配置为类似于内置开发服务器日志?

转载 作者:行者123 更新时间:2023-12-04 20:39:53 26 4
gpt4 key购买 nike

我正在尝试在 settings.py 中配置我的日志记录配置,并且有很多选项,我无法复制内置开发服务器日志(打印到控制台)。

我希望我的生产日志记录通常会在开发服务器日志中打印到控制台的相同信息(GET 请求、调试信息等)。我需要知道我需要在下面更改哪些设置,或者内置开发服务器日志的设置位置,以便我可以复制它。

LOGGING = {
'version': 1,
'formatters': {
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
},
'simple': {
'format': '%(levelname)s %(message)s'
},
},
'handlers': {
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'simple'
},
'file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': '/home/django/django_log.log',
'formatter': 'simple'
},
},
'loggers': {
'django': {
'handlers': ['file'],
'level': 'DEBUG',
'propagate': True,
},
}
}

if DEBUG:
# make all loggers use the console.
for logger in LOGGING['loggers']:
LOGGING['loggers'][logger]['handlers'] = ['console']

如果可能的话,除了我的 settings.py 之外,我也不想在其他任何地方添加任何代码。我不想进入我的 views.py 并指定要打印或记录的错误,我从来没有用开发服务器这样做,所以我希望我能解决这个问题。

最佳答案

在 Django 1.8 中,default logging configuration对于调试环境是:

When DEBUG is True:

  • The django catch-all logger sends all messages at the WARNING level or higher to the console. Django doesn’t make any such logging calls at this time (all logging is at the DEBUG level or handled by the django.request and django.security loggers).
  • The py.warnings logger, which handles messages from warnings.warn(), sends messages to the console.

此日志记录配置可以在 django.utils.log.DEFAULT_LOGGING 中找到.请注意,包罗万象的记录器实际上也获取信息消息,而不仅仅是警告和更高级别的消息。
覆盖默认日志记录设置时,请注意 disable_existing_loggers ,如果设置为 True , will shut up all of Django's default loggers .

开发服务器 logs every incoming request directly to stderr像这样:
[18/Oct/2015 12:08:17] "GET /about/ HTTP/1.1" 200 9946
这是特定于开发服务器的,不会转移到生产环境,除非您复制它 with middleware .

关于django - 如何将我的 Django 日志配置为类似于内置开发服务器日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28303892/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com