gpt4 book ai didi

django - 如何添加到 Django 的默认日志记录?

转载 作者:行者123 更新时间:2023-12-04 21:15:14 24 4
gpt4 key购买 nike

我正在使用 Django 1.6 并且想添加到——而不是替换——Django's default logging .具体来说,我想让它除了 Django 的默认日志记录行为之外,日志级别为 DEBUG 的任何日志记录。或更高版本被写入自动轮换的日志文件。

根据我通过搜索和我自己的实验发现的内容,似乎您必须重新定义所有日志记录(Django 的默认值加上我的旋转文件日志记录),即使使用 'disable_existing_loggers': False 也是如此。 .我想我可能做错了什么。

我想看看在我的 settings.py 文件中放置什么的示例,以便我完成此操作。

最佳答案

settings.py只是 Python,所以我们可以这样做:

from django.utils.log import DEFAULT_LOGGING

# Use defaults as the basis for our logging setup
LOGGING = DEFAULT_LOGGING

# We need some formatters. These ones are from the docs.
LOGGING['formatters'] = {
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
},
'simple': {
'format': '%(levelname)s %(message)s'
},
}

# A log file handler that rotates periodically
LOGGING['handlers'].update({
'rotate': {
'level': 'DEBUG',
'class': 'logging.handlers.RotatingFileHandler',
'formatter': 'verbose',
'filename': '/tmp/debug.log',
}
})

# The default 'django' logger is a catch-all that does nothing. We replace it with
# a rotating file handler.
LOGGING['loggers'].update({
'django': {
'handlers': ['rotate'],
'propagate': True,
'level': 'DEBUG',
}
})

# If you don't want to completely replace the django handler, you could do something
# like this instead:
#LOGGING['loggers']['django']['handlers'] += ['rotate']

这会将您的旋转文件处理程序添加到现有处理程序中,定义基本格式化程序,并用替换默认记录器的记录器替换全能记录器(什么都不做)

关于django - 如何添加到 Django 的默认日志记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25434021/

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