DJango 오류 로그 생성
setting.py 설정
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s %(lineno)d %(message)s'
},
'simple': {
'format': '%(levelname)s %(module)s %(lineno)d %(message)s'
},
},
'filters': {
'require_debug_true': {
'()': 'django.utils.log.RequireDebugTrue',
},
},
'handlers': {
'console': {
'level': 'DEBUG',
'filters': ['require_debug_true'],
'class': 'logging.StreamHandler',
'formatter': 'simple'
},
'file': {
# WARNING
'level': 'INFO',
'class': 'logging.handlers.RotatingFileHandler',
# , , , : BASE_DIR
'filename': os.path.join(os.path.dirname(BASE_DIR), "logs/luffy.log"),
# , 300M
'maxBytes': 300 * 1024 * 1024,
# , 10
'backupCount': 10,
# :
'formatter': 'verbose',
#
'encoding': 'utf-8'
},
},
#
'loggers': {
'django': {
'level': 'INFO',
'handlers': ['console', 'file'],
'propagate': True, #
},
}
}
exception.py(오류 설정)
# rest_framework.views exception_handler drf
from rest_framework.views import exception_handler as drf_exception_handler
# drf drf_exception_handler, drf
from rest_framework.response import Response
from .response import APIResponse
# : logging
from .logging import logger
def exception_handler(exc, context):
response = drf_exception_handler(exc, context)
if response is None:
# drf
error_info = '【%s】【%s】' % (context['view'], exc)
logger.error(error_info)
# return Response({
# 'exception': ' ',
# }, status=500)
return APIResponse(1, ' ', status=500)
response.exception = True
return response
logging.py
import logging
logger = logging.getLogger('django')
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.