2014-01-09 2 views
9

장고 설정에서 다음 로깅 구성을 사용합니다. 이 구성 파이썬에서 루트 로거 구성

LOGGING = { 
    'version': 1, 
    'disable_existing_loggers': False, 
    'formatters': { 
     'verbose': { 
      'format': 
       '%(levelname)s|%(asctime)s|%(name)s>> %(message)s', 
     }, 
    }, 
    'handlers': { 
     'console': { 
      'level': 'DEBUG', 
      'class': 'logging.StreamHandler', 
      'formatter': 'verbose', 
     } 
    }, 
    'loggers': { 
     '': { 
      'handlers': ['console'], 
      'level': 'ERROR', 
      'propagate': True, 
     }, 
     'apps': { 
      'handlers': ['console'], 
      'level': 'DEBUG', 
     }, 
    } 
} 

나는 나의 '앱'DEBUG 수준에서 로그인하고 다른 모듈은 오류를 기록하고 위의 기대합니다. 하지만 다른 모듈에서 DEBUG 메시지를 볼 수 있습니다. 어떻게 수정해야합니까?

답변

5

LOGGING['loggers']에 빈 문자열 키를 사용하여 루트 로거와 일치합니까? 그렇다면 대신이 방법을 사용해보십시오.

LOGGING = { 
    'version': 1, 
    'disable_existing_loggers': False, 
    'formatters': { 
     'verbose': { 
      'format': 
       '%(levelname)s|%(asctime)s|%(name)s>> %(message)s', 
     }, 
    }, 
    'handlers': { 
     'console': { 
      'level': 'DEBUG', 
      'class': 'logging.StreamHandler', 
      'formatter': 'verbose', 
     } 
    }, 
    'loggers': { 
     'apps': { 
      'handlers': ['console'], 
      'level': 'DEBUG', 
     } 
    }, 
    'root': { 
     'handlers': ['console'], 
     'level': 'ERROR' 
    } 
} 
+0

시도했지만 제대로 작동하지 않았습니다. 다른 모듈에서 DEBUG 메시지가 계속 표시됩니다. – Chamindu

+1

@Chamindu''''를''로거 '밖으로 옮기는 대신''루트' '로 변경하려고 했습니까? (나는 조금 파티에 늦었다, 미안하다!) –

+0

나는 그것을 시험해 보지 않았다. 이것은 오래 전부터 나는 내가이 일을 시도한 것을 기억하지 못한다. – Chamindu