在Django的配置文件settings.py 中加入如下LOGGING配置
#########################
## Django Logging BEGIN
#########################
#LOGGING_DIR 日志文件存放目录
LOGGING_DIR = "./logs"
if not os.path.exists(LOGGING_DIR):
os.mkdir(LOGGING_DIR)
import logging
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'standard': {
'format': '[%(levelname)s][%(asctime)s][%(filename)s][%(funcName)s][%(lineno)d]> %(message)s'
},
'simple': {
'format': '[%(levelname)s]> %(message)s'
},
},
'filters': {
'require_debug_true': {
'()': 'django.utils.log.RequireDebugTrue',
},
},
'handlers': {
'console': {
'level': 'DEBUG',
'filters': ['require_debug_true'],
'class': 'logging.StreamHandler',
'formatter': 'simple'
},
'file_handler': {
'level': 'INFO',
'class': 'logging.handlers.TimedRotatingFileHandler',
'filename': '%s/django.admin.log' % LOGGING_DIR,
'formatter':'standard'
}, # 用于文件输出
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler',
'formatter':'standard'
},
},
'loggers': {
'django': {
'handlers': ['console','file_handler'],
'level':'DEBUG',
'propagate': True,
},
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': False,
},
}
}
#########################
## Django Logging END
#########################
在具体的业务逻辑代码中加入日志记录 :
首先的主页面中写:这两个
import logging
logger = logging.getLogger("django")
在业务逻辑代码中加入:
logger.info("IndexHandler request Handler begin")
logger.debug('query total:' + str(total))