使用equinox servlet bridge部署我的OSGi Web应用程序时,我会收到以下信息:
log4j:WARN No appenders could be found for logger (org.springframework.osgi.extender.internal.activator.ContextLoaderListener).
log4j:WARN Please initialize the log4j system properly.
我尝试了几种提供必要的“log4j.properties”文件的方法,包括:
当然我还有一个片段包,它使用log4j.properties文件扩展log4j包,但看起来这个log4j包没有被使用。
ADDED:我应该补充一点,我正在Eclipse中开发应用程序......我的片段包用于配置log4j / slf4j。
有人解决了这个问题吗?有什么想法吗?
答案 0 :(得分:3)
我发现了我的错误。应该提供log4j.properties文件的片段不包含它,因为我没有将它添加到build.properties中的二进制构建中。
答案 1 :(得分:3)
感谢arturh。我遇到过同样的问题。我将log4j.properties添加到我的/ src文件夹中。
答案 2 :(得分:2)
更新:这对您的问题没有任何帮助......
我自己就是在研究OSGi。
不是你想要的,但是下面的post讨论了使用vanilla equinox时的相同问题(即:没有托管在tomcat / jetty中)。
它建议创建一个“片段包”(可供下载的示例)来保存log4j.properties。也许你可以尝试类似的东西?
或许您只需要将log4j.properties
置于WAR的META-INF
内?