2008-10-02 8 views

Antwort

23

Log4J ist ein Java-basiertes Logging-Dienstprogramm. Die Klasse NTEventLogAppender kann zum "Anhängen an das NT-Ereignisprotokollsystem" verwendet werden. Lesen Sie die Dokumentation hier:

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

Edit: ", die signifikante Verbesserungen gegenüber seinem Vorgänger bietet" Es gibt eine neuere Version, Log4j 2

+0

Log4J ist eine gute Wahl, da Ihr Code nicht an das zugrunde liegende Protokollierungsziel gekoppelt und einfach über XML konfiguriert werden kann. –

+1

Das große Problem mit NTEventLogAppender ist, dass es ein natives DLL benötigt, um an allen möglichen Orten platziert zu werden. –

4

Sie können den Befehl eventcreate auch unter Windows XP Pro und höher verwenden. Haus

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

Runtime.getRuntime().exec(command); 

Für XP und niedriger, könnten Sie eine vbs-Anwendung erstellen, die die wscript.shell.eventcreate Methode schreibt mit. Sie opfern jedoch die Möglichkeit, Quelle anzugeben.

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

+0

wie man applicationObjectName, lvl, etc definiert – ChanGan

7

können Sie JNA verwenden, um das Ereignisprotokoll, ohne die Notwendigkeit einer nativen DLLs direkt zu schreiben. Siehe Advapi32- und Advapi32Util-Klassen für verschiedene Ereignisprotokollmethoden (Schiffe seit JNA 3.2.8).

Wenn Sie Log4j verwenden, betrachten Sie Log4jna anstelle von NTEventLogAppender.

+2

Log4jna wurde nach [GITHUB] verschoben (https: //github.com/dblock/log4jna), falls der Link oben nicht mehr funktioniert. – Qben

Verwandte Themen