Mam problemy z umieszczeniem mojego pliku log4j.properties w ścieżce klas. Mogę go używać, gdy się rozwijam (Eclipse Indigo), ale kiedy eksportuję moją aplikację jako JAR, nie mogę.Problemy z log4.properties classpath
Zrobiłem ręcznie plik MANIFEST.MF dla eksportowanego JAR:
Manifest-Version: 1.0
Main-Class: main.Program
Class-Path: lib/log4j.properties lib/log4j-1.2.15.jar
a następnie umieścić w tym pliku JAR organizacji:
folder
|-------- app.jar
|-------- lib
|--------- log4j.properties
|--------- log4j-1.2.15.jar
Kiedy próbuję uruchomić app.jar, Kowalski log4j.jar lecz nie log4j.properties:
log4j:WARN No appenders could be found for logger (main.Program).
log4j:WARN Please initialize the log4j system properly.
Moje log4j.pro tacyjne plików to tak:
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}
Podaje ten sam błąd – rnunes
Poprawiłem już zmianę log4j.properties na "folder" (tam, gdzie istnieje JAR) i zmienię ścieżkę klasy na ". Lib/log4j-1.2.15.jar". Wcześniej próbowałem kilku ścieżek folderów do "lib" (np./Lib /, lib /, ./lib/) i żaden z nich nie działał. – rnunes
Stary wątek, ale po prostu chcę dodać, że to podejście naprawdę działa. Inną dobrą rzeczą w tym podejściu jest to, że użytkownik może zmienić poziom dziennika, jeśli chce, ponieważ plik konfiguracyjny znajduje się poza słojem. – arunskrish