Django Logger

GisangLee·2022년 3월 16일
0

my_module

목록 보기
3/33
post-custom-banner

세팅

$ pip install django-request-logging

settings.py

# Loggin 설정
LOGGING = {

	'version': 1,

	'disable_existing_loggers': False,

    # 형식정의
    'formatters': {
        'format1': {'format': '[%(asctime)s] %(levelname)s %(message)s\n','datefmt': "%Y-%m-%d %H:%M:%S"},
        'format2': {'format': '-----'*25 + '\n%(levelname)s %(message)s [%(name)s:%(lineno)s]'},
    },

	'handlers': {

        # 파일 저장
        'file': {
                'level': 'INFO',
                'class': 'logging.handlers.RotatingFileHandler',
                'filename': os.path.join(PROJECT_FOLDER, 'logs/myproject.log'),
                'encoding': 'UTF-8',
                'maxBytes': 1024 * 1024 * 5,  # 5 MB
                'backupCount': 5,
                'formatter': 'format1',
        },

        # 콘솔(터미널)에 출력
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'formatter': 'format2',
        },
	},

	'loggers': {
        'django.server': {
            'level': 'INFO',
            'handlers': ['file','console'],
            'propagate': False,
        },

        'django.request': {
            'level':'DEBUG',
            'handlers':['file','console'],
            'propagate': False,
        },

		'': {  # root
			'level': 'DEBUG',
			'handlers': ['file'],
            "propagate": True,
		},

        "django.db.backends": {
            "handlers": ['file', "console"],
            "level": "DEBUG",
        }

	},

}

로그 폴더 생성

settings.py의 파일 저장 부분에서 설정한 경로에 폴더 생성

로거 사용법

그냥 사용해도 되고 특정 로거에 찍히게 하고 싶으면

import logging as log
logger = log.getLogger("settings.py에서 설정한 로거 이름")
logger.debug(e)
profile
포폴 및 이력서 : https://gisanglee.github.io/web-porfolio/
post-custom-banner

0개의 댓글