Django 日志配置引发的打印信息输出问题

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输出恢复正常

猜你喜欢

转载自blog.csdn.net/soga238/article/details/80979339
今日推荐