Java에서 Windows 이벤트 로그에 어떻게 쓸 수 있습니까?Java에서 Windows 이벤트 로그에 기록하는 방법은 무엇입니까?
답변
Log4J는 Java 기반 로깅 유틸리티입니다. NTEventLogAppender
등급은 "NT 이벤트 로그 시스템에 추가"하는 데 사용할 수 있습니다.
http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/nt/NTEventLogAppender.html
편집 : ". 이전 모델에 비해 상당한 개선을 제공한다" 최신 버전, Log4j 2가 여기에 설명서를 참조하십시오
JavaWorld는 write messages to the Windows NT Event Log.에 대한 기사를 게시했거나 Log4j NTEventLogAppender 클래스를 살펴볼 수 있습니다.
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
applicationObjectName, lvl 등을 정의하는 방법 – ChanGan
Log4J는 코드가 기본 로깅 대상에 연결되지 않고 XML을 통해 쉽게 구성되기 때문에 좋은 선택입니다. –
NTEventLogAppender의 가장 큰 문제점은 원하지 않는 모든 종류의 장소에 네이티브 DLL을 배치해야한다는 것입니다. –