1.settings.py文件添加如下配置:
import os
LOGGING_DIR = 'logs' # 日志存放路径
if not os.path.exists(LOGGING_DIR):
os.mkdir(LOGGING_DIR)
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/project.log' % LOGGING_DIR, # 日志文件的名称
'formatter': 'standard'
},
},
'loggers': { # 日志分配到哪个handlers中
'projectlog': {
'handlers': ['console', 'file_handler'],
'level': 'INFO',
'propagate': True,
},
}
}
2.在views.py视图文件中引用
import logging
# Create your views here.
# 引用格式配置
log = logging.getLogger(name='projectlog') # name为settings中loggers里面对应的名字
# 调用
class XXX(APIView):
def get(self, request):
log.info("Info日志打印")
log.error("Error日志打印")