Django-03

1.Django的logger配置

在项目settings文件中,加入

LOGGING = {  
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'verbose': {
            'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
        },
        'simple': {
            'format': '%(levelname)s %(message)s'
        },
    },
    # 'filters': {
    #     'special': {
    #         '()': 'project.logging.SpecialFilter',
    #         'foo': 'bar',
    #     }
    # },
    'handlers': {
        'null': {
            'level': 'DEBUG',
            'class': 'logging.NullHandler',
        },
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'formatter': 'verbose'
        },
        'mail_admins': {
            'level': 'ERROR',
            'class': 'django.utils.log.AdminEmailHandler',
        }
    },
    'loggers': {
        'django': {
            'handlers': ['null'],
            'propagate': True,
            'level': 'INFO',
        },
        'django.request': {
            'handlers': ['mail_admins'],
            'level': 'ERROR',
            'propagate': False,
        },
        'gym': {
            'handlers': ['console', 'mail_admins'],
            'level': 'INFO',
        }
    }
}

其实这个配置就是标准的logging模块配合,有handler和formatter以及自动以filter。使用的时候

import logging  
logger = logging.getLogger('gym')  
logger.error("error log %s","变量")  

刘摸鱼

退堂鼓表演艺术家

杭州