我目前正在与Django合作,错误不会记录在错误日志中,但会记录在日志中。设置如下:
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'standard': {
'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s',
'datefmt' : "%d/%b/%Y %H:%M:%S",
},
'simple': {
'format': '%(levelname)s %(asctime)s %(message)s',
'datefmt' : "%d/%b/%Y %H:%M:%S",
},
},
'handlers': {
'file': {
'level': 'INFO',
#'class': 'logging.FileHandler',
'class':'logging.handlers.TimedRotatingFileHandler',
'when': 'D',
'filename': os.path.join(BASE_DIR, 'logs', 'log'),
'formatter': 'simple',
},
'error_file': {
'level': 'ERROR',
#'class': 'logging.FileHandler',
'class':'logging.handlers.TimedRotatingFileHandler',
'when': 'D',
'filename': os.path.join(BASE_DIR, 'logs', 'error_log'),
'formatter': 'simple',
},
'console':{
'level': 'INFO',
'class':'logging.StreamHandler',
'formatter': 'simple',
},
},
'loggers': {
'django': {
'handlers': ['console', 'file'],
'level': 'INFO',
'propagate': True,
},
'error_file': {
'handlers': ['console', 'error_file'],
'level': 'ERROR',
'propagate': True,
}
},
}
有人能帮我理解这是为什么吗?我正在寻找它,但没有发现错误
Django文件:
“仅将日志调用放入代码中是不够的。您还需要配置日志记录器、处理程序、筛选器和格式化程序,以确保可以使用日志输出
Python的日志库提供了几种配置日志的技术,从编程接口到配置文件
为了配置日志记录,您可以使用日志记录来定义日志记录设置的字典。这些设置描述您希望在日志记录设置中使用的日志记录程序、处理程序、筛选器和格式化程序,以及您希望这些组件具有的日志级别和其他属性
默认情况下,使用以下方案将日志记录设置与Django的默认日志记录配置合并
如果日志记录dictConfig中的disable_existing_loggers键设置为True(如果缺少该键,则为dictConfig默认值)然后,默认配置中的所有记录器都将被禁用。禁用的记录器与删除的记录器不同;记录器仍将存在,但会默默地丢弃记录到其中的任何内容,甚至不会将条目传播到父记录器。因此,使用“禁用现有记录器”时应非常小心:正确;这可能不是您想要的。在相反,您可以将disable_existing_logger设置为False并重新定义部分或全部默认记录器;或者您可以将LOGGING_CONFIG设置为None并自行处理LOGGING CONFIG
日志记录是作为general Django setup()函数的一部分配置的。因此,您可以确定日志记录程序始终可以在项目代码中使用。”
问候,, 贝尔纳多
目前没有回答
相关问题 更多 >
编程相关推荐