django的日志配置文件

django的日志配置文件

放入settings.py中

# logger
import datetime
LOGGING = {
    'version': 1,
    'disable_existing_loggers': True,
    'formatters': {
        'standard': {
            'format': '%(asctime)s [%(name)s:%(lineno)d] [%(module)s:%(funcName)s] [%(levelname)s] %(message)s'}
    },
    'filters': {
    },
    'handlers': {
        'mail_admins': {
            'level': 'ERROR',
            'class': 'django.utils.log.AdminEmailHandler',
            'include_html': True,
        },
        'default': {
            'level': 'DEBUG',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': '{}/engine_{}.log'.format("/var/log/project", datetime.datetime.now().date()),  # 日志输出文件
            'maxBytes': 1024 * 1024 * 5,  # 文件大小
            'backupCount': 5,  # 备份份数
            'formatter': 'standard',  # 使用哪种formatters日志格式
        },
        'error': {
            'level': 'ERROR',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': '{}/engine_Error_{}.log'.format("/var/log/project", datetime.datetime.now().date()),
            'maxBytes': 1024 * 1024 * 5,
            'backupCount': 5,
            'formatter': 'standard',
        },
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'formatter': 'standard'
        },
        'request_handler': {
            'level': 'DEBUG',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': '{}/engine_Request_{}.log'.format("/var/log/project", datetime.datetime.now().date()),
            'maxBytes': 1024 * 1024 * 5,
            'backupCount': 5,
            'formatter': 'standard',
        },
        'scripts_handler': {
            'level': 'DEBUG',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': '{}/engine_Script_{}.log'.format("/var/log/project", datetime.datetime.now().date()),
            'maxBytes': 1024 * 1024 * 5,
            'backupCount': 5,
            'formatter': 'standard',
        }
    },
    'loggers': {
        # 框架本身运行相关日志
        # 'django': {
        #     'handlers': ['default'],
        #     'level': 'DEBUG',
        #     'propagate': False
        # },
        'django.request': {
            'handlers': ['request_handler'],
            'level': 'DEBUG',
            'propagate': False,
        },
        'scripts': {
            'handlers': ['scripts_handler'],
            'level': 'INFO',
            'propagate': False
        },
        # 只输出到控制台,不写入日志文件
        'console': {
            'handlers': ['console'],
            'level': 'DEBUG',
            'propagate': True
        },
        # app engine 模块的日志处理 并输出到控制台
        'engine': {
            'handlers': ['default', 'error', 'console'],
            'level': 'DEBUG',
            'propagate': True
        },
        # 日志写入上面handlers定义的error所指向的log日志文件 并输出到控制台
        'app01': {
            'handlers': ['error', 'console'],
            'level': 'ERROR',
            'propagate': True
        },
        # 日志同时写入上面handlers定义的default和error所指向的log日志文件
        'app02': {
            'handlers': ['default', 'error'],
            'level': 'ERROR',
            'propagate': True
        },
    }
}

在调用的地方

import logging
logger = logging.getLogger("app01")
posted @ 2020-09-19 10:11  _慕  阅读(504)  评论(0编辑  收藏  举报
Title
返回顶部