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
답변
기본적으로 로거 구성 방법에 따라 다릅니다. 일반적으로 개발 중에는 디버그 출력이 작성되었지만 프로덕션에서는 꺼져 있거나 특정 영역을 디버깅하는 동안 작성된 디버그 범주를 선택 했을 수 있습니다 .
다른 우선 순위를 갖는 요점은 합리적으로 세분화 된 방식으로 특정 구성 요소의 세부 정보 수준을 높이거나 낮출 수 있도록 허용하고 차이점을 확인하기 위해 로깅 구성 (코드가 아닌) 만 변경하면되는 것입니다.
답변
이것은 매우 오래된 질문이지만 여기에 내 이해가 보이지 않으므로 2 센트를 더할 것입니다.
모든 레벨은 사용자 유형에 해당 / 매핑됩니다.
- 디버그 : 개발자-수동 디버깅
- trace : 자동 로깅 및 단계 추적기-3 단계 지원용
- 정보 : 기술자 / 지원 레벨 1/2
- 경고 : 기술자 / 사용자 오류 : 자동 경고 / 지원 수준 1
- 위험 / 심각 : 설정에 따라 다름-로컬 IT
답변
- INFO는 프로그램이 예상대로 작동하는 정보를 기록하는 데 사용됩니다.
- DEBUG는 프로그램이 예상대로 작동하지 않거나 예외가 발생한 경우 이유를 찾는 데 사용됩니다. 개발자의 이익을위한 것입니다.
답변
logger.debug와 logger.info의 차이점은 무엇입니까?
이들은 이미 정의 된 일부 기본 수준 일뿐입니다. 원하는 경우 자신 만의 레벨을 정의 할 수 있습니다. 이러한 수준의 목적은 코드를 변경하지 않고 하나 이상의 수준을 활성화 / 비활성화하는 것입니다.
logger.debug가 인쇄 될 때 ??
구성에서 디버그 또는 더 높은 수준을 활성화 한 경우.