django 에서 로그 파일 로 정 보 를 기록 합 니 다.

3971 단어 django로그logging
이틀 동안 windows 에서 nginx 배치 django 프로그램 을 테스트 해 왔 습 니 다. 일부 기이 한 문제 로 인해 배치 가 성공 하지 못 했 습 니 다. 그리고 문제 가 어디 에 있 는 지 모 르 겠 습 니 다. 어 쩔 수 없 이 django 로그 의 설정 파일 을 찾 아 수정 하고 디 버 깅 하여 문 제 를 해결 하 였 습 니 다.말 하 다 보 니 천천히 눈물 이 네요. 이제 나 눠 드 리 겠 습 니 다.
다음 코드 를 setting 에 추가 합 니 다. 로그 파일 경로 가 만 족 스 럽 지 않 으 면 코드 에 있 는 filename 변경 사항 을 찾 을 수 있 습 니 다.
#    
import logging
import django.utils.log
import logging.handlers

LOGGING = {
    'version': 1,
    'disable_existing_loggers': True,
    'formatters': {
       'standard': {
            'format': '%(asctime)s [%(threadName)s:%(thread)d] [%(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': BASE_DIR+'/django_all.log',     #      
            'maxBytes': 1024*1024*5,                  #     
            'backupCount': 5,                         #    
            'formatter':'standard',                   #    formatters    
        },
        'error': {
            'level':'ERROR',
            'class':'logging.handlers.RotatingFileHandler',
            'filename': BASE_DIR+'/django_error.log',
            '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': BASE_DIR+'/django_script.log', 
            'maxBytes': 1024*1024*5, 
            'backupCount': 5,
            'formatter':'standard',
        },
        'scprits_handler': {
            'level':'DEBUG',
            'class':'logging.handlers.RotatingFileHandler',
            'filename':BASE_DIR+'script.log', 
            'maxBytes': 1024*1024*5, 
            'backupCount': 5,
            'formatter':'standard',
        }
    },
    'loggers': {
        'django': {
            'handlers': ['default', 'console'],
            'level': 'DEBUG',
            'propagate': False 
        },
        'django.request': {
            'handlers': ['request_handler'],
            'level': 'DEBUG',
            'propagate': False,
        },
        'scripts': { 
            'handlers': ['scprits_handler'],
            'level': 'INFO',
            'propagate': False
        },
        'file_out.views': {
            'handlers': ['default', 'error'],
            'level': 'DEBUG',
            'propagate': True
        },
        'sourceDns.webdns.util':{
            'handlers': ['error'],
            'level': 'ERROR',
            'propagate': True
        }
    } 
}

그리고 로 그 를 사용 할 모듈 에서 사용:
#    
import logging

logger = logging.getLogger('file_out.views')
logger.error('    ')

import logging.handlers

좋은 웹페이지 즐겨찾기