Django 로그 모듈 logging 구성

2700 단어 Django
본고는 실제 예를 통해logging 모듈을 어떻게 설정하는지 설명할 것이다.더 많은 정보는 Django의 홈페이지 문서를 참고할 수 있습니다.설정 정보는 setting에 필요합니다.py 파일에 추가됩니다.
setting.py
DEBUG = True #            DEBUG   
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'filters': {
        'require_debug_true': {
            '()': 'django.utils.log.RequireDebugTrue',
        }, #    DEBUG = True    
    },
    'formatters': {
        'standard': {
            'format': '%(levelname)s %(asctime)s %(pathname)s %(filename)s %(module)s %(funcName)s %(lineno)d: %(message)s'
        }, #           ,                 ,          ,           ,          
        # INFO 2016-09-03 16:25:20,067 /home/ubuntu/mysite/views.py views.py views get 29: some info...
    },
    'handlers': {
        'mail_admins': {
            'level': 'ERROR',
            'class': 'django.utils.log.AdminEmailHandler',
             'formatter':'standard'
        },
        'file_handler': {
             'level': 'DEBUG',
             'class': 'logging.handlers.TimedRotatingFileHandler',
             'filename': '/tmp/byod/byodadmin/byod.admin.log',
             'formatter':'standard'
        }, #       
        'console':{
            'level': 'INFO',
            'filters': ['require_debug_true'],
            'class': 'logging.StreamHandler',
            'formatter': 'standard'
        },
    },
    'loggers': {
        'django': {
            'handlers' :['file_handler', 'console'],
            'level':'DEBUG',
            'propagate': True #        log  
        }, # handlers        handlers      
        'django.request': {
            'handlers': ['mail_admins'],
            'level': 'ERROR',
            'propagate': False,
        },
    }
}

설정이 끝난 후 코드에서 다음과 같은 방법으로 사용할 수 있다
import logging
logger = logging.getLogger("django") #  loggers      
logger.info("some info...")

사용할 수 있는 함수는 주로 다섯 가지입니다.
logger.debug()
logger.info()
logger.warning()
logger.error()
logger.critical()

참고: level이 DEBUG로 설정된 경우 인쇄된 정보가 매우 많습니다.데이터베이스의 조회문도 인쇄될 것이다.
DEBUG 2016-09-03 16:24:46,543 /usr/local/lib/python2.7/dist-packages/django/db/backends/utils.py utils.py utils execute 89: (0.000) SET SQL_AUTO_IS_NULL = 0; args=None

좋은 웹페이지 즐겨찾기