我想要实现的是将生产中发生的警告和错误(即 DEBUG=False
)记录到循环日志文件中。
我试过了
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'handlers': {
'file': {
'level': 'WARNING',
'class': 'logging.FileHandler',
'filename': 'staging.log',
},
},
'loggers': {
'': {
'handlers': ['file'],
'level': 'WARNING',
'propagate': True,
},
'django': {
'handlers': ['file'],
'level': 'WARNING',
'propagate': True,
},
'django.request': {
'handlers': ['file'],
'level': 'WARNING',
'propagate': True,
},
},
}
但是,上面的内容会记录所有内容,而不仅仅是日志级别 WARNING
及以上的消息。
最佳答案
您可以关注 django 记录器 here .
在你的views.py中:
import logging
logger = logging.getLogger(__name__)
然后您可以使用logger.error()
或logger.warning()
或logger.info()
进行记录。
它将在您的主项目目录中创建一个记录器文件,并列出所有日志记录详细信息。
看这个:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': '{levelname} {asctime} {module} {process:d} {thread:d} {message}',
'style': '{',
},
'simple': {
'format': '{levelname} {message}',
'style': '{',
},
},
'handlers': {
'logfile': {
'level': 'DEBUG',
'class': 'logging.handlers.RotatingFileHandler',
'filename': "yourproject_name.log",
'maxBytes': 100000,
'backupCount': 2,
'formatter': 'verbose',
},
},
'loggers': {
'django': {
'handlers': ['logfile'],
'level': 'INFO',
'propagate': True,
},
'apps': {
'handlers': ['logfile'],
'level': 'DEBUG',
'propagate': True,
},
},
}
关于django - 如何将 Django 警告和错误记录到生产中的日志文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62019356/