django log日志模块无法正常工作,记录日志信息

背景描述:

使用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})
茅侃侃
浏览 1081回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python