나는 이것이 당신의 작업 예입니다! 진심으로 이것은 굉장합니다!
이것을 당신의 settings.py
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'standard': {
'format' : "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s",
'datefmt' : "%d/%b/%Y %H:%M:%S"
},
},
'handlers': {
'null': {
'level':'DEBUG',
'class':'django.utils.log.NullHandler',
},
'logfile': {
'level':'DEBUG',
'class':'logging.handlers.RotatingFileHandler',
'filename': SITE_ROOT + "/logfile",
'maxBytes': 50000,
'backupCount': 2,
'formatter': 'standard',
},
'console':{
'level':'INFO',
'class':'logging.StreamHandler',
'formatter': 'standard'
},
},
'loggers': {
'django': {
'handlers':['console'],
'propagate': True,
'level':'WARN',
},
'django.db.backends': {
'handlers': ['console'],
'level': 'DEBUG',
'propagate': False,
},
'MYAPP': {
'handlers': ['console', 'logfile'],
'level': 'DEBUG',
},
}
}
이제이 모든 것이 무엇을 의미합니까?
- Formaters ./manage.py runserver와 같은 스타일로 나오는 것이 좋습니다.
- 핸들러-디버그 텍스트 파일과 정보 콘솔이라는 두 개의 로그가 필요합니다. 이를 통해 (필요한 경우) 실제로 파고 들어 텍스트 파일을보고 내부에서 무슨 일이 일어나는지 볼 수 있습니다.
- 로거-여기에서 기록 할 내용을 확인할 수 있습니다. 일반적으로 django는 WARN 이상을 가져옵니다. 예외 (따라서 전파됨)는 SQL 호출이 미치게 될 수 있기 때문에 내가보고 싶어하는 백엔드입니다. 마지막으로 내 앱은 두 개의 핸들러가 있고 모든 것을 푸시하는 것입니다.
이제 MYAPP를 사용하려면 어떻게해야합니까?
당 문서 파일 (views.py)의 상단에 이것을 넣어 ..
import logging
log = logging.getLogger(__name__)
그런 다음 무언가를 얻으려면 이것을하십시오.
log.debug("Hey there it works!!")
log.info("Hey there it works!!")
log.warn("Hey there it works!!")
log.error("Hey there it works!!")
로그 수준은 여기 에 설명되어 있고 순수한 파이썬에 대해서는 여기 에 설명되어 있습니다 .