ProgramingTip

logger.info와 logger.debug의 차이점

bestdevel 2020. 11. 7. 10:19
반응형

logger.info와 logger.debug의 차이점


logger.debug의 차이점은 logger.info무엇입니까?

언제 인쇄 검증 logger.debug?


이 로깅 구성에 따라 늘어서 있습니다. 노래는 사용중인 프레임 워크에 따라 늘어서 있습니다. 아이디어는 나중에 구성 설정을 INFO에서 DEBUG로 변경하면 전체 응용 프로그램을 다시 준비하지 않고 인쇄되는 줄이 더 많거나 적을 사용하는 것입니다.

어느 것을 사용할 것인지 생각하면 어느 수준에서보고 싶은지 생각하는 것이 귀결됩니다. 예를 들어 Log4J의 다른 수준은 API, http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html을 참조하십시오.


"log4j에 대한 논평 소개" 라는 기사를 참조하십시오 . 여기에는 로그 수준에 대한 간단한 설명이 포함되어 있습니다. 로그 수준의 기본 개념은 상황에 따라 로그에 포함 된 세부 정보의 양을 구성 할 수있을 것입니다. 예를 들어 문제를 해결하려는 경우 로그를 매우 자세하게 표시 할 수 있습니다. 여기서에서는 경고 및 오류 만보 고 싶을 수 있습니다.

시스템의 각 구성 요소에 대한 로그 수준은 일반적으로 구성 파일의 매개 변수를 통해 제어 기법 수 있습니다. 코드에는 수준이 다른 다양한 로깅 문이 포함됩니다. 에 응답 할 때 Exception, 당신은 호출 할 수 있습니다 Logger.error. 주어진 지점에서 변수 값을 인쇄 선택을 호출 할 수 있습니다 Logger.debug. 구성 가능한 로깅 수준과 프로그램 내 로깅 문을 결합하면 애플리케이션이 활동을 기록하는 방법을 완전히 제어 할 수 있습니다.

최소한 log4j의 경우 로그 수준의 순서는 다음과 같습니다.

DEBUG < INFO < WARN < ERROR < FATAL

다음은 로그 수준의 작동 방식을 사용하는 문서의 간단한 예입니다.

   // get a logger instance named "com.foo"
   Logger logger = Logger.getLogger("com.foo");

   // Now set its level. Normally you do not need to set the
   // level of a logger programmatically. This is usually done
   // in configuration files.
   logger.setLevel(Level.INFO);

   Logger barlogger = Logger.getLogger("com.foo.Bar");

   // This request is enabled, because WARN >= INFO.
   logger.warn("Low fuel level.");

   // This request is disabled, because DEBUG < INFO.
   logger.debug("Starting search for nearest gas station.");

   // The logger instance barlogger, named "com.foo.Bar",
   // will inherit its level from the logger named
   // "com.foo" Thus, the following request is enabled
   // because INFO >= INFO.
   barlogger.info("Located nearest gas station.");

   // This request is disabled, because DEBUG < INFO.
   barlogger.debug("Exiting gas station search");


가능한 모든 수준 집합에 대한 설명은 다음과 가능합니다.

ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF

기본적으로 로거 구성 방법에 따라 추가. 으로 개발 중에는 일반적 디버그 출력이 작성되었지만 프로덕션에서는 꺼져 있거나 특정-domain을 디버깅하는 동안 작성된 디버그 범주를 선택 했을 수 있습니다 .

다른 우선 순위를 사용하는 요점은 합리적으로 세분화 된 방식으로 특정 구성 요소의 세부 수준을 높이거나 낮출 수 있습니다. 차이점을 확인하기 위해 로깅 위해 구성 (코드가 아닌) 만 변경됩니다.


logger.debug와 logger.info의 차이점은 무엇입니까?

약간의 이미 정의 된 일부 기본 수준 일뿐입니다. 원하는 경우 자신만의 레벨을 정의 할 수 있습니다. 수준의 목적은 코드를 변경하지 않고 하나 이상의 수준을 활성화 / 강화하는 것입니다.

logger.debug가 인쇄 될 때 ??

구성에서 디버그 또는 더 높은 수준을 활성화하는 경우.


log4j 구성 파일에서 선택한 수준에 따라 내려갑니다.

<Loggers>
        <Root level="info">
        ...

레벨이 "정보"(기본값)이면 logger.debug(...)콘솔에 인쇄되지 않습니다. 그러나 레벨이 "디버그"이면 그럴 것입니다.

코드의 중요도 수준에 따라 다음 중 가장 적절한 수준을 준수합니다.

ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF

이것은 매우 오래된 질문이지만 여기에 내 이해가 더할 것입니다.

모든 레벨은 사용자 유형에 해당 / 매핑됩니다.

  • 디버그 : 개발자-수동형
  • trace : 자동 로깅 및 단계 추적기 -3 단계 지원용
  • 정보 : 보충 / 지원 레벨 1/2
  • 경고 : 업그레이드 / 사용자 오류 : 자동 경고 / 지원 수준 1
  • 위험 / 심각 : 설정에 따라 다름-로컬 IT

참고 URL : https://stackoverflow.com/questions/2342280/difference-between-logger-info-and-logger-debug

반응형