我创建了一个 Tomcat webapp 项目。如果我将 log4j.xx.jar & log4j.properties 放入 Tomcat 库中,我将获得日志文件。如果我将 log4j.properties 放在 WEB-INF/classes 中,我不会得到日志文件。我一次又一次地尝试。 当我把 log4j.xx.jar 放到 WEB-INF/lib 里,把 log4j.properties 放到 WEB-INF/classes 里,我又搞定了。为什么?这是什么逻辑?
log4j.rootLogger=INFO,A1, A2
#org.apache.log4j.ConsoleAppender
log4j.appender.A1=org.apache.log4j.FileAppender
log4j.appender.A1.File=D:\\Tomcat2\\logs\\monitor.log
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.appender.A2=org.apache.log4j.ConsoleAppender
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
最佳答案
log4j.xx.jar
和 log4j.properties
文件必须由同一个类加载器加载。 Tomcat lib 文件由不同于 WEB-INF/lib 文件的类加载器加载。因此,您必须将这两个文件都放在 Tomcat lib 下或将这两个文件都放在 WEB-INF/lib 下才能使其工作。
关于java - 我应该把 log4j.jar 放在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17443424/