Khi triển khai ứng dụng web OSGi của tôi bằng cách sử dụng equinox servlet bridge tôi nhận được như sau:Làm thế nào để cấu hình Log4J khi triển khai một ứng dụng OSGi với Equinox Servle Bridge tới Tomcat?
log4j:WARN No appenders could be found for logger (org.springframework.osgi.extender.internal.activator.ContextLoaderListener).
log4j:WARN Please initialize the log4j system properly.
Tôi đã thử nhiều cách để cung cấp các "log4j.properties" cần thiết tập tin, bao gồm:
- thêm context- param "log4jConfigLocation" vào weblet servlet web.xml
- tạo thư mục "các lớp" trong thư mục WEB-INF và sao chép tệp log4j.properties tại đó (và sao chép nó ở một số vị trí khác)
- xóa gói log4j của tôi và đặt "extendedFrameworkExports" thành org.apache.log4j vì vậy (tôi đoán) logcatj tomcat được sử dụng ... điều này không hoạt động vì phụ thuộc của tôi cần một số lớp slf4j được cung cấp dưới dạng đoạn cho gói log4j ... không còn ở đó nữa ...
Tất nhiên tôi cũng có một gói đoạn mở rộng gói log4j với tệp log4j.properties, nhưng có vẻ như gói log4j này không được sử dụng.
ADDED: Tôi nên thêm rằng tôi đang phát triển ứng dụng trong Eclipse ... và gói phân đoạn của tôi có cấu hình log4j/slf4j hoạt động ở đó.
Có ai đã giải quyết vấn đề này không? Bất kỳ ý tưởng?
1. cách tiếp cận bó mảnh bạn thường thực hiện dường như không hoạt động khi bạn triển khai ứng dụng của bạn với tomcat dưới dạng .war. 2. Chiến tranh của tôi chưa có thư mục META-INF, nhưng tôi đã thử và nó cũng không hoạt động (tôi đã thử tất cả các thư mục hiện có như WEB-INF, WEB-INF/eclipse, ...) – arturh
Xin lỗi, tôi không thể trợ giúp thêm .. – toolkit