django 상점 프로젝트용sentry 관리 로그

3807 단어
이전에 상점 프로젝트를 작성할 때 사용한 로그 처리 방식은 터미널에서 출력하거나 파일을 작성하는 것입니다. 그러면 프로젝트 배치가 시작된 후에 서버에 오류가 발생하면 서버에 가서 관련 오류 로그를 확인해야 하기 때문에 매우 불편합니다.후기에 다른 사람의 개원 프로젝트를 배울 때 개원의 실시간 오류 보고 도구인 sentry를 배웠다.sentry로 로그를 관리하면 sentry 홈페이지(https://sentry.io/) 제공된 클라우드 서비스는 sentry 계정만 등록하면 홈페이지에 오류 로그를 볼 수 있습니다.우선 확장 패키지 pip 설치 ravendjangosettings에서 구성sentry 
INSTALLED_APPS = (
    'raven.contrib.django.raven_compat',
)
RAVEN_CONFIG = {
    'dsn':  dsn, # If you are using git, you can also automatically configure the # release based on the git info. # 'release': raven.fetch_git_sha(os.path.abspath(os.pardir)), }

 
로그 구성:
LOGGING = {
    'version': 1,
    'disable_existing_loggers': True, #  
    'root': {
        'level': 'WARNING',
        'handlers': ['sentry'],
    },
    'formatters': { #  
        'verbose': {
            'format': '%(levelname)s  %(asctime)s  %(module)s '
                      '%(process)d  %(thread)d  %(message)s'
        },
    },
    'handlers': {  #  
        'sentry': { 
            'level': 'ERROR', # To capture more than ERROR, change to WARNING, INFO, etc.
            'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler',
            'tags': {'custom-tag': 'x'},
        },
        'console': { #  
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'formatter': 'verbose'
        },
    'file':{
       'level':'INFO',
       'class':'logging.handler.RotaingFileHandler',
       'filename':os.path.join(os.path.dirname(BASE_DIR),'logs'), #
       'maxBytes':300*1024*1024,
       'backupCount':10,
       'formatter':'verbose',
     } }, 'loggers': { # 'django': { # 'level': 'ERROR', 'handlers': ['sentry', 'console', 'file'], 'propagate': True, # }, }

사용 방법:
import logging
logger = logging.getLogger(__name__)
logger.error('There was some crazy error', exc_info=True, extra={
    # Optionally pass a request and we'll grab any information we can
    'request': request,
})

오류가 발생한 곳의 상하문을 볼 수 있도록request를 추가했습니다.
오류가 발생하면 홈페이지에 로그인하여 오류 정보를 볼 수 있고 등록할 때 기입한 메일박스에 메일 알림을 보낼 수 있다.

좋은 웹페이지 즐겨찾기