WSGI를 사용하여 장고를 실행하고 Apache의 가상 호스트에 설치 한 오류 파일에 로그를 보냅니다.Django가 아파치 vhost 오류 파일에 로그인하여 수정하는 방법
로깅 구성은 다음
'django': {
'handlers': ['logfile'],
'level': 'INFO',
'propagate': True,
},
'django.requests': {
'handlers': ['slack_error'],
'level': 'ERROR',
'propagate': False,
},
'django.requests': {
'handlers': ['logfile'],
'level': 'INFO',
'propagate': True,
},
이
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'standard': {
'format': "[%(asctime)s] %(levelname)s [%(name)s.%(funcName)s:%(lineno)s] %(message)s",
'datefmt': "%d/%b/%Y %H:%M:%S"
},
'onlymsg': {
'format': '%(message)s'
},
},
'handlers': {
'logfile': {
'level': 'INFO',
'class': 'logging.handlers.RotatingFileHandler',
'filename': "/var/log/web.log",
'maxBytes': 5000000,
'backupCount': 3,
'formatter': 'standard',
},
'slack_chino_error': {
'level': 'ERROR',
'class': 'handler.AdminSlackHandler',
'formatter': 'onlymsg',
'slack_url': 'https://hooks.slack.com/...',
'channel': '#error_notification',
'username': SERVER_NAME
},
아파치 가상 호스트는 내가 web_error.log을 열 경우이 가득 파일을 지금 follwing을
# LOG Possible values include: debug, info, notice, warn, error, crit, alert, emerg.
CustomLog /var/log/web_access.log combined
ErrorLog /var/log/web_error.log
LogLevel warn
입니다 장고 로그
[Mon Dec 12 12:16:20.054977 2016] [wsgi:error] [pid 13255:tid 139989789542144] GET console.views.generic.generic_view
[Mon Dec 12 12:18:11.222981 2016] [wsgi:error] [pid 13255:tid 139991418357504] GET console.views.user_info.UserInfo
나는 이유가 왜 그렇게 말하고 있는지, 또는 다른 이유 때문에 내가 모를 것인지 [wsgi:error]
의 beacuse라고 생각합니다. 이러한 항목을 제거하고 영구 변경을 제거하는 방법에 대한 도움이 필요하십니까?
흥미 롭군요. 이것에 대한 공식적인 출처가 있습니까? 또는 로깅을 관리하는 방법에 대한 공식 참조 – EsseTi
추신 : 나는 그것이 나쁜 일이라는 것을 말하지 않았다. 내 질문은 오류 로그가 오류가 아닌 로그로 가득 찼다는 사실에 관한 것이었다. – EsseTi
소위 아파치 오류 로그는 오류 만이 아닙니다. Apache는 alert, err, warn, info 및 debug에서 여러 수준의 메시지를 지원합니다. 불행히도 파이썬에서 오는 어떤 것도 아파치의 특정 로그 레벨로 쉽게 변환 할 수 없기 때문에 모든 것이 오류 수준으로 기록됩니다. –