2009-09-29 11 views

답변

12

나는 Log4J home page이 그 사용법에 대한 가장 좋은 개요와 근거를 제공한다고 생각합니다. log4j에 함께

는 애플리케이션 바이너리를 수정하지 않고 런타임 로깅을 사용하는 것이 가능하다. log4j 패키지는 이러한 문이 배송 비용이 인 배송 코드로 유지 될 수 있도록 설계되었습니다. 로깅 동작은 응용 프로그램 바이너리를 건드리지 않고 파일을 구성하여 파일을 편집하여 제어 할 수 있습니다.

로깅을 사용하면 개발자 오류에 대한 세부 컨텍스트가 개발자에게 부여됩니다. 한편, 테스트는 품질 보증을 제공하고 애플리케이션에 대한 신뢰도는 입니다. 로깅 및 테스트를 혼동해서는 안됩니다. 그들은 서로 보완 적입니다. 을 로깅하면 현명하게 필수 도구가 될 수 있습니다.

Log4J를 사용하면 동적으로 로깅을 설정/해제 할 수 있습니다. 형식을 동적으로 변경할 수 있으며 (타임 스탬프가 필요합니까?), 코드를 변경하지 않고 로깅이 이루어지는 위치 (콘솔, 파일, 데이터베이스)를 변경할 수 있습니다.

+1

여러 소스에 동시에 로그온 할 수도 있습니다. 현재 응용 프로그램에서 응용 프로그램을 테스트 할 때 응용 프로그램에서 항상 기록되는 표준 로그 파일과 함께 콘솔 (둘 다 디버그 정보와 팝업 오류를 볼 수 있음)에 로그합니다 . 아주 편리합니다. –

1

log4j의 아름다움은 appenders 및 레이아웃의 아키텍처에 있습니다. 이전 포스터에서 언급했듯이 많은 번거 로움없이 응용 프로그램의 로깅 측면을 변경합니다. 대부분의 경우 단순한 구성에만 해당됩니다. 내 부분에 추가 할 사용법 중 하나는 코드 기반을 변경하지 않고 애플리케이션에 추가 할 수있는 중앙 집중식 로깅입니다. 예를 들어 - this을보십시오.

1

가장 기본적인 수준에서는 코드에서 System.out.println의 대체물로 생각할 수 있습니다. 왜 System.out.println보다 낫지? 그 이유는 다양합니다.

처음에는 System.out.println이 표준 출력 (일반적으로 콘솔 창)으로 출력됩니다. Log4j의 출력은 콘솔로 갈 수 있지만 전자 메일 서버, 데이터베이스 테이블, 로그 파일 또는 다른 여러 대상으로 이동할 수도 있습니다.

Log4j의 또 다른 장점은 다양한 수준의 로깅을 설정할 수 있다는 것입니다. 레벨은 계층 적이며 TRACE, DEBUG, INFO, WARN, ERROR 및 FATAL과 같습니다. 특정 로그 레벨을 설정하면 해당 레벨과 그 위의 모든 레벨에 대한 메시지가 기록되며 그보다 낮은 로그 레벨에는 기록되지 않습니다. 예를 들어, 로그 레벨이 ERROR로 설정되면 오류 및 치명적인 메시지를 로깅합니다. 로그 수준이 INFO로 설정된 경우 정보, 경고, 오류 및 치명적인 메시지를 로깅합니다. 일반적으로 로컬 컴퓨터에서 개발할 때는 로그 수준을 DEBUG로 설정하는 것이 좋으며 웹 응용 프로그램을 배포 할 때 로그 수준을 INFO 이상으로 설정하여 오류 로그를 채우지 않도록해야합니다 디버그 메시지.

Log4j는 다른 위대한 일을 할 수 있습니다. 예를 들어 특정 Java 클래스에 대해 레벨을 설정할 수 있으므로 특정 클래스가 많은 경고를 내보내는 경우 해당 클래스의 로그 레벨을 ERROR로 설정하여 모든 경고 메시지를 표시하지 않도록 할 수 있습니다.

Read more...

관련 문제