2008-10-02 3 views

답변

23

Log4J는 Java 기반 로깅 유틸리티입니다. NTEventLogAppender 등급은 "NT 이벤트 로그 시스템에 추가"하는 데 사용할 수 있습니다.

http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/nt/NTEventLogAppender.html

편집 : ". 이전 모델에 비해 상당한 개선을 제공한다" 최신 버전, Log4j 2가 여기에 설명서를 참조하십시오

+0

Log4J는 코드가 기본 로깅 대상에 연결되지 않고 XML을 통해 쉽게 구성되기 때문에 좋은 선택입니다. –

+1

NTEventLogAppender의 가장 큰 문제점은 원하지 않는 모든 종류의 장소에 네이티브 DLL을 배치해야한다는 것입니다. –

4

Windows XP Pro 이상에서도 eventcreate 명령을 사용할 수 있습니다.

String command = "eventcreate " 
       + " /l APPLICATION" 
       + " /so \"" + applicationObjectName + "\"" 
       + " /t " + lvl 
       + " /id " + id 
       + " /d \"" + description + "\""; 

Runtime.getRuntime().exec(command); 

XP 홈 이하의 경우 wscript.shell.eventcreate 메소드를 사용하여 작성하는 vbs 응용 프로그램을 만들 수 있습니다. 그러나 소스를 지정하는 기능은 희생됩니다.

예 : http://www.ozzu.com/mswindows-forum/posting-event-log-with-batch-files-t76791.html

+0

applicationObjectName, lvl 등을 정의하는 방법 – ChanGan

7

당신은 네이티브 DLL이 필요없이 직접 이벤트 로그에 기록 할 JNA를 사용할 수 있습니다. 다양한 이벤트 로그 메소드 (JNA 3.2.8부터 제공)를위한 Advapi32 및 Advapi32Util 클래스를 참조하십시오.

Log4j를 사용하는 경우 NTEventLogAppender 대신 Log4jna을 고려하십시오.

+2

Log4jna가 [GITHUB] (https : //github.com/dblock/log4jna) 위의 링크가 작동하지 않는 경우를 대비하여 – Qben