Java 로그 프레임워크 - Logback 사용 참고 사항
이러한 응용 장면이 있다. 기록하고자 하는 내용은 순수한 문자열이 아니라 다른 유형의 내용을 포함한다. 예를 들어'My Age Is'+age'. 그 중에서age는 Integer 유형의 대상이다.
구체적인 코드는 다음과 같습니다.
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Main {
public static void main(String[] args) {
Logger logger = LoggerFactory.getLogger(Main.class);
Integer age = 24;
// debug , trace,info,warn,error
logger.debug("My Age Is" + age);
}
}
비고: 상기 코드 세션의 logger 대상은ch.qos를 가리킨다.logback.classic.Logger 유형 객체, logger를 실행합니다.debug("My Age Is"+ age) 문은 ch.qos를 실제로 실행합니다.logback.classic.Logger의 debug 방법
상기 코드 세션에서logger.debug("My Age Is"+ age) 문이 실행되는 동안 최대 3개의 성능 소모점, 최소 2개의 성능 소모점이 있습니다.구체적인 사항:
1)age를 호출합니다."public void debug (String msg) {}"과 일치하는 순수한 문자열을 가져오는 방법 설명
2) 로깅 요청의 Level 값(여기는 debug)과 Logger 인스턴스의 Level 값을 비교하여 로깅 요청이 유효한지 판단
3) 2단계에서 결과가 유효하다고 판단되는 경우 구체적인 로그 기록 조작;2단계에서 결과를 무효로 판단한 경우 조작 없음
다음과 같은 두 가지 최적화 시나리오가 있습니다.
1. isDebugEnabled() 방법을 사용한다.
구체적인 코드는 다음과 같습니다.
4
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Main {
public static void main(String[] args) {
Logger logger = LoggerFactory.getLogger(Main.class);
Integer age = 24;
// debug , trace,info,warn,error
if (logger.isDebugEnabled())
logger.debug("My Age Is" + age);
}
}
상기 코드 세션에서if(logger.isDebugEnabled())logger.debug("My Age Is"+ age) 문이 실행되는 동안 최대 4개의 성능 소모점, 최소 1개의 성능 소모점이 있습니다.구체적인 사항:1) Logger 인스턴스의 Level 값을 보고 debug Level의 로깅 요청이 유효한지 판단
2) 1단계 판단 결과가 무효인 경우 즉시 퇴장하고 아무런 조작도 하지 않는다.그렇지 않으면 age를 호출합니다."public void debug (String msg) {}"과 일치하는 순수한 문자열을 가져오는 방법 설명
3) 로깅 요청의 Level 값(여기는 debug)과 Logger 인스턴스의 Level 값을 비교하여 로깅 요청이 유효한지 판단
4) 3단계 판단 결과가 유효한 경우 구체적인 로그 기록 조작;3단계 잘못된 결과 판단 시 작업 없음
둘째, debug(String var1, Object var2) 방법을 사용하는 구체적인 코드는 다음과 같습니다.
4
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Main {
public static void main(String[] args) {
Logger logger = LoggerFactory.getLogger(Main.class);
Integer age = 24;
// debug , trace,info,warn,error
logger.debug("My Age Is {}", age);
}
}
상기 코드 세션에서logger.debug("My Age Is {}", age) 문이 실행되는 동안 성능 소모점은 3개 이상이고 최소한 1개의 성능 소모점은 있다.각각:1) 로깅 요청의 Level 값(debug)과 Logger 인스턴스의 Level 값을 비교하여 로깅 요청이 유효한지 판단
2) 1단계의 판단 결과가 무효인 경우 즉시 퇴장하고 아무런 조작도 하지 않는다.그렇지 않으면 age를 호출합니다.toString () 방법으로 순수한 문자열을 얻습니다.
3) 구체적인 로깅 작업
참조 자료:
[1]http://logback.qos.ch/manual/architecture.html
[2]http://blog.csdn.net/dslztx/article/details/47450741
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.