log4j.where를 사용하여 애플리케이션 레벨 (java/java ee) 로깅을위한 컴포넌트를 빌드하려고합니다. 컴포넌트의 jar 파일을 생성하여 클래스 경로에 넣을 수 있습니다. 모든 응용 프로그램과 그것을 사용하십시오. 접근 방식 아래 내가java/java EE 애플리케이션에서 log4j를 사용하는 로깅 컴포넌트
가 나는 등 디버그, 추적, 정보 등의 로그 메소드를 오버라이드 (override) 따랐다
단일 및 다중 인수 substutution 예를 들어,
MessageFormatter.format("Hi {}. My name is {}.", "Alice", "Bob");
은 "안녕 앨리스, 내 이름은 Bob입니다."문자열을 반환합니다..- 는
public boolean isTraceEnabled() { return logger.isTraceEnabled();} public void trace(String msg, Throwable throwable, Object... args) { log(isTraceEnabled(),throwable,msg,args);// } private void log(boolean isEnabled, Throwable throwable, String msg,Object... args) { if(throwable!=null){ String message=MessageFormatter.getFormattedMessage(throwable);//Formated the exception message msg=msg+message; throwable=null; } if (args == null || args.length == 0) { logger.log(FQCN,LEVELmsg, throwable); } else { if (isEnabled) { String formattedMsg = MessageFormatter.arrayFormat(msg, args);//single and multiple argument substutution logger.log(FQCN, UtilConstant. Level.TRACEformattedMsg, throwable); } } }
내 목표는 모든 자바 EE 애플리케이션을 수용 할 수있는 구성 요소를 구축하는 것입니다 추적 메시지를 예를 들어 말한다. 두 가지 접근 방식으로 충분합니까 아니면 더 많이 할 필요가 있습니다. 도와주세요.
log4j (또는 slf4j 또는 기타)가 아직 수행하지 않는 작업은 무엇입니까? – Thilo