wie zu verwenden log4j mit Netbeans 6.9.1 für Java-desktop-Anwendung
Ich bin versucht, log4j für meine Java-desktop-Anwendung, die ich entwickle mit Netbeans IDE 6.9.1. Ich habe log4j.Eigenschaften Datei im META-INF-Ordner für die Protokollierung während der Entwicklung. Ich habe auch versucht, es zusammen mit der ausführbaren jar - (nach der installation) aber beide hat nicht funktioniert. Es wirft exception, wenn ich die Methode aufrufen kann.
PropertyConfigurator.configure(filepath);
und es wirft immer diese Ausnahme, unabhängig von der Lage des log.Eigenschaften Datei
java.io.FileNotFoundException: META-INF\log4j.properties (The system cannot find the path specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at java.io.FileInputStream.<init>(FileInputStream.java:66)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:306)
at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:324)
at fi.xmldation.common.SharedMethods.readSettingsFile(SharedMethods.java:43)
Ist es ein bug in der IDE oder mache ich etwas falsch?
- log4j sucht nach config-Dateien in den classpath so setzen log4j.Eigenschaften in der "Source packages" IDE-Projekt-Baum-Ordner funktionieren sollte (iirc NetBeans enthält Dateien, die in der erzeugten jar)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie Ihr Programm mit einer IDE wie NetBeans, überprüfen Sie die eine extra-Zeit, dass die Datei in das Ausgabeverzeichnis der IDE. In der Regel, log4j sucht diese Datei im classpath, so müssen Sie sicherstellen, dass NetBeans eigentlich Kopien es gibt.
Die IDE dürfte es die eigene Ausgabe-Verzeichnis als Teil des classpath, so dass ich denke, Sie haben (mindestens) zwei Möglichkeiten: entweder fügen Sie das Verzeichnis, in dem Sie haben log4j.properties im classpath, oder um sicherzustellen, dass es ist, kopiert die IDE:s-Ausgabe-Verzeichnis. Viel Glück!
Haben Sie einen Blick auf diesen thread:
Wie konfiguriert log4j mit properties Datei
funktionierte es, wenn ich laden Sie die Eigenschaften aus der Datei mit den Eigenschaften