I want to use 로깅합니다 내 프로그램였어 내가 얘길 듣고 [제바스티라자로그링] (https://docs.oracle.com/javase/8/docs/api/java/util/logging/package-summary.html), 하지만 난 don& # 39, t know how to 시작합니다.
예를 들어 로깅하는 어쩔 수 있습니까? 내 스스로 프로그램을 로그인하십시오 어떻게 사용합니까?
'제바스티라자로그링' 은 jar 파일, 및 응용 프로그램을 통해 운반 필요가 없습니다 중심으로 한 번 더 잘 작동하잖아 좋은 포맷터.
일반적으로 모든 클래스 , 맨 위에 있어야 합니다.
private static final Logger LOGGER = Logger.getLogger( ClassName.class.getName() );
그럼 그냥 사용할 수 있는 다양한 시설을 로그기록기 구분된다.
LOGGER.log( Level.FINE, "processing {0} entries in loop", list.size() );
'/' 와 '레브레스피너 사용 할 수 없는 곳에 항상 루프 내부에 레벨리핀스트' 볼 필요가 있을 때 훨씬 상세함을 디버깅하지 기본 흐름을 문제:
LOGGER.log( Level.FINER, "processing[{0}]: {1}", new Object[]{ i, list.get(i) } );
List. 생성 문자열 연결을 유지할 수 있는 패라메트릭화 버전의 로깅하기 협업공간을 쓰레기요 GC 에서 세제곱밀리미터 발맞추려면 할 것으로 보인다. [] '는' 객체에는 위와 같은 값싼, stack 할당일까요 보통.
완전 예외를 제외하고, 항상 취급료 로그합니다 detaiils:
try {
...something that can throw an ignorable exception
} catch( Exception ex ) {
LOGGER.log( Level.SEVERE, ex.toString(), ex );
}
난 항상 여기 메시지를 전달할 때 보라그들은 렉스토스트링 () '으로' 때문에 ',' 내가 그렙 뻨을 " ". '대한' idfsysobject. " "; 로그 파일, 내가 볼 수 있는 메시지를 너무. 그렇지 않으면 다음 줄에 스택할 의해 생성된 덤프 및 출력 될 일이 있어야 합니다 그 줄을 좀 더 고급 정규 표현식, 대개 너보다 더 출력입니다 구성이 너무 일치시키려면 볼 필요는 후란다.
다음과 같은 선언을 해야 로그기록기
private final static Logger LOGGER = Logger.getLogger(MyClass.class.getName());
네가 만일 네 클래스 이름을 리팩터링 팔로우.
[1] 와 [사례를 여기서] 내가 로거에 jave 관한 기사를 썼다.
[1]: 글 = java 의 생성 방법에 로깅합니다 http://hanoo.org/index.php?
또한 다양한 유형의 로깅하기 참조용이므로 많다. 제바스티라자로그링 패키지로의 살펴보겠습니다.
예제 코드:
import java.util.logging.Logger;
public class Main {
private static Logger LOGGER = Logger.getLogger("InfoLogging");
public static void main(String[] args) {
LOGGER.info("Logging an INFO-level message");
}
}
하드 코딩 없이 이 [클래스 이름] [2]:
import java.util.logging.Logger;
public class Main {
private static final Logger LOGGER = Logger.getLogger(
Thread.currentThread().getStackTrace()[0].getClassName() );
public static void main(String[] args) {
LOGGER.info("Logging an INFO-level message");
}
}
[2]: https://docs.oracle.com/javase/8/docs/api/java/lang/StackTraceElement.html # 제클레스나미 -
아파치 커먼즈 로깅하기 slf4j 로깅하기 파사드 (ACL) 가 더 나은 것. 이 회사는 다른 로깅하기 프레임워크와도 userdic. 직접 통화한 ACL, 교량, 또는 jave Util 로깅하기 SLF4J 거칠 수 있도록 모든 Log4J 한 경우, 로그 파일을 직접 출력입니다 프로파일링하려는 부트해 원-부트 로그 구성파일입니다. 응용 프로그램을 사용하는 이유는 여러 로깅하기 프레임워크와도? 특히 3rd party 라이브러리를 사용하는 때문에 아마도 tfsnap 수준들과 못하며창조된.
다양한 로깅하기 slf4j 를 구현. 모든 것을 사용할 수 있습니다, 또는 로그바크 출력입니다 표준 아웃해야 log4j (권장됨 끝날거요 log4j).