背景描述:
使用gunicorn +django +nginx部署,
在指定目录会自动创建info.log ,error.log,warn.log
屏幕上可以正常显示日志信息
没有往日志文件写入信息
使用runserver启动服务,日志可以正常书写
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
BASE_LOG_DIR = os.path.join(BASE_DIR, "log")
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'standard': {
'format': '%(levelname)s %(asctime)s %(module)s %(message)s'
},
'error': {
'format': '%(levelname)s %(asctime)s %(pathname)s %(module)s %(message)s'
},
'simple': {
'format': '%(levelname)s %(asctime)s %(message)s'
},
'collect': {
'format': '%(message)s'
}
},
'filters': {
# 只有在deubg=True的过滤器
'require_debug_true': {
'()': 'django.utils.log.RequireDebugTrue',
},
},
'handlers': {
'console': {
'level': 'DEBUG',
'filters': ['require_debug_true'],
'class': 'logging.StreamHandler',
'formatter': 'simple'
},
'default': {
'level': 'INFO',
'class': 'logging.handlers.RotatingFileHandler',
'filename': os.path.join(BASE_LOG_DIR, "info.log"),
'maxBytes': 1024 * 1024 * 50,
'backupCount': 5,
'formatter': 'standard',
'encoding': 'utf-8',
},
'warn': {
'level': 'WARN',
'class': 'logging.handlers.RotatingFileHandler',
'filename': os.path.join(BASE_LOG_DIR, "warn.log"),
'maxBytes': 1024 * 1024 * 50,
'backupCount': 5,
'formatter': 'standard',
'encoding': 'utf-8',
},
'error': {
'level': 'ERROR',
'class': 'logging.handlers.RotatingFileHandler',
'filename': os.path.join(BASE_LOG_DIR, "error.log"),
'maxBytes': 1024 * 1024 * 50,
'backupCount': 5,
'formatter': 'error',
'encoding': 'utf-8',
},
},
'loggers': {
'': {
'handlers': ['default', 'warn', 'error'],
'level': 'DEBUG',
'propagate': True,
},
'collect': {
'handlers': ['console', 'default', 'warn', 'error'],
'level': 'INFO',
}
},
}
setting.py
from logger import LOGGING
views.py
import logging
logger = logging.getLogger(__name__)
class RandomImagination(APIView):
def post(self, request):
logger.info(u'路径:{} 用户id:{}'.format(request.path, user_id, result_dict['msg']))
return Response({'status':100})
添加回答
举报
0/150
提交
取消