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");
If you want to print the value of a variable at any given point, you might call Logger.debug
는 내가 Debug
와 Trace
레벨 사이의 혼란을 명확히하는 데 도움이되었습니다 . 감사합니다!
가능한 모든 레벨 세트에 대한 설명입니다.
ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF
Trace
로그 수준이 무엇인지 알 수 있습니다.