Sollte log4.Eigenschaften im classpath?
Ich habe einige Probleme, dass meine log4j.Eigenschaften von Datei auf dem Klassenpfad. Ich kann es benutzen, wenn ich die Entwicklung (Eclipse Indigo), aber wenn ich exportieren meine app als ein GLAS kann ich es nicht.
Die ich gemacht habe von hand ein MANIFEST.MF-Datei der exportierten JAR:
Manifest-Version: 1.0
Main-Class: main.Program
Class-Path: lib/log4j.properties lib/log4j-1.2.15.jar
Und dann mit setzen Sie das GLAS auf diese Datei Organisation:
folder
|-------- app.jar
|-------- lib
|--------- log4j.properties
|--------- log4j-1.2.15.jar
Wenn ich versuche zu laufen app.jar Sie finden log4j.jar aber nicht log4j.Eigenschaften:
log4j:WARN No appenders could be found for logger (main.Program).
log4j:WARN Please initialize the log4j system properly.
Meine log4j.Eigenschaften - Datei ist es so:
log4j.rootLogger=INFO, stdout, file
PATTERN=[%d] [%p] [%c{1}]: %m%n
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=${PATTERN}
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.DatePattern='.'yyyy-MM-dd
log4j.appender.file.File=${logger_file_path}
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=${PATTERN}
InformationsquelleAutor rnunes | 2012-01-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Setzen Sie nicht den
log4j.properties
selbst in den classpath, aber das Verzeichnis, dass die Datei enthält.Hab ich schon korrigiert, ändern Sie die log4j.Eigenschaften in den "Ordner" (wo das GLAS vorhanden ist) und ändern Sie die class-path ". lib/log4j-1.2.15.jar". Vor, dass ich versucht habe mehrere Ordner-Pfad zum "lib" (z.B. /lib/, lib/, ./lib/), und keiner von Ihnen arbeitete.
Ein Alter thread, aber möchte nur hinzufügen, dass dieser Ansatz wirklich funktioniert. Eine weitere gute Sache an dieser Methode ist, dass ein Benutzer können tatsächlich ändern Sie den log-level, wenn Sie wollen, weil die config-Datei außerhalb einer jar.
InformationsquelleAutor Jesper
eine weitere Möglichkeit, dies zu tun:
-Dlog4j.configuration=file:"./log4j.properties"
InformationsquelleAutor okwap
Gibt es drei Wege, l weiß.
log4j.properties
zuapp.jar
log4j.properties
auf den "Ordner" (wo das GLAS vorhanden ist) und ändern Sie die class-path zu.lib/log4j-1.2.15.jar
.log4j.properties
auf den Ordner "conf", zum Beispiel, und ändern Sie die class-path zu./conf/
.Habe ich versucht, es funktioniert.
InformationsquelleAutor 钮玉晓
Hinzufügen
log4j.properties
zuapp.jar
.InformationsquelleAutor rodrigoap
Ich habe versucht, die Antwort von Jesper, und zuerst hat es nicht funktioniert. Dann habe ich versucht mit
Und es funktionierte danach.
InformationsquelleAutor emi-le
versuchen, auszuführen:
javar -jar -Dlog4j.configuration=file:"./log4j.Eigenschaften" app.jar
InformationsquelleAutor gonella