Django中的日志配置
import logging.config
from oee.settings import BASE_DIR
logging.config.fileConfig(BASE_DIR + u"/cfg/logging.conf")
log = logging.getLogger(__name__)
上面代码是我在django中常用的日志配置,发现在使用后,django框架的打印信息不出现,包括正常的HTTP请求和异常错误
[2018-07-09 23:59:24,963] [INFO] "POST /api/product/oee_demand/ HTTP/1.1" 200 56
分析的原因可能是,文件中配置的log与Django本身的log冲突,未验证。以下是解决步骤:
1、将log配置改为Django的配置形式
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': '[%(asctime)s] [%(levelname)s] %(message)s'
},
},
'handlers': {
'console': {
'level': 'INFO',
'class': 'logging.StreamHandler',
'formatter': 'verbose'
},
'file': {
'level': 'INFO',
'class': 'logging.FileHandler',
'filename': '/home/oee/log/monitor.log',
'formatter': 'verbose'
},
# 'email': {
# 'level': 'ERROR',
# 'class': 'django.utils.log.AdminEmailHandler',
# 'include_html': True,
# }
},
'loggers': {
'django': {
'handlers': ['console', 'file'],
'level': 'INFO',
'propagate': True,
},
},
}
2、在项目的子文件中添加django的配置
import logging
log = logging.getLogger('django')
按照上面的配置django 的debug输出恢复正常