Tôi đang gặp một số sự cố khi đặt tệp log4j.properties của mình trên classpath. Tôi có thể sử dụng nó khi tôi đang phát triển (Eclipse Indigo) nhưng, khi tôi xuất khẩu ứng dụng của tôi như là một JAR, tôi không thể.Sự cố khi đặt đường dẫn lớp log4.properties
Tôi đã thực hiện bằng tay một file MANIFEST.MF cho JAR xuất khẩu:
Manifest-Version: 1.0
Main-Class: main.Program
Class-Path: lib/log4j.properties lib/log4j-1.2.15.jar
Và sau đó với đặt JAR về tổ chức tập tin này:
folder
|-------- app.jar
|-------- lib
|--------- log4j.properties
|--------- log4j-1.2.15.jar
Khi tôi cố gắng chạy app.jar, họ thấy log4j.jar nhưng không log4j.properties:
log4j:WARN No appenders could be found for logger (main.Program).
log4j:WARN Please initialize the log4j system properly.
log4j.pro My perties tập tin đó là như thế này:
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}
Cung cấp cùng một lỗi – rnunes
Tôi đã sửa đổi việc thay đổi log4j.properties thành "thư mục" (trong đó JAR tồn tại) và thay đổi đường dẫn lớp thành ". Lib/log4j-1.2.15.jar". Trước đó, tôi đã thử một số đường dẫn thư mục đến "lib" (ví dụ:/lib /, lib /, ./lib/) và không có thư mục nào trong số chúng hoạt động. – rnunes
Một chủ đề cũ, nhưng chỉ muốn thêm rằng phương pháp này thực sự hoạt động. Một điều tốt nữa về cách tiếp cận này là người dùng thực sự có thể thay đổi cấp độ nhật ký nếu họ muốn vì tệp cấu hình nằm ngoài bất kỳ dấu hiệu nào. – arunskrish