기본적으로 Django에 로그는 기본 로거만 설정되어있어서 쿠버네티스에 배포하고 난 뒤 로그가 안보인다.
Print로찍는게 보이기는 하긴한데 이건 사용용도에 맞지 않다.
적용 전 출력 예시

settings.py에 아래와 같은 형태로 추가한다.
LOGGING = {
'version': 1,
'disable_existing_loggers': False, # Django 기본 로거 유지
'formatters': {
'standard': {
'format': '[{asctime}] {levelname} {name}:{lineno} {message}',
'style': '{',
},
},
'handlers': {
'console': {
'class': 'logging.StreamHandler', # 콘솔 출력
'formatter': 'standard',
},
},
'root': {
'handlers': ['console'],
'level': 'INFO', # 기본 레벨 (애플리케이션 코드)
},
'loggers': {
'django': {
'handlers': ['console'],
'level': 'INFO', # Django 프레임워크 전반
'propagate': False,
},
'django.request': {
'handlers': ['console'],
'level': 'ERROR', # 요청 관련 에러만 (500 에러 같은 것)
'propagate': False,
},
'django.db.backends': {
'handlers': ['console'],
'level': 'WARNING', # DB 쿼리 경고만
'propagate': False,
},
'django.security': {
'handlers': ['console'],
'level': 'WARNING', # 보안 관련 경고
'propagate': False,
},
# mattermost send message log 너무 많이 나와서 조정
'apscheduler': {
'handlers': ['console'],
'level': 'WARNING', # INFO 로그 안 보이게 함
'propagate': False,
},
},
}
적용 후 출력 예시
