java - 我应该把 log4j.jar 放在哪里?

标签 java log4j

我创建了一个 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.jarlog4j.properties 文件必须由同一个类加载器加载。 Tomcat lib 文件由不同于 WEB-INF/lib 文件的类加载器加载。因此,您必须将这两个文件都放在 Tomcat lib 下或将这两个文件都放在 WEB-INF/lib 下才能使其工作。

关于java - 我应该把 log4j.jar 放在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17443424/

相关文章:

java - 如何在json改造的根部使用可变键解析json

java - Log4J2 (2.6) - 自动删除日志

java - Log4j2 SMTPAppender 不发送电子邮件

java - Maven - 为java项目中的每个java包创建一个jar

java - 抽取Java中几种方法的常见异常处理代码

java - POI Java将xlsx转换为CSV逗号和双引号

logging - log4j 和 apache.commons.logging 之间的关系

windows - 如何禁用 ColdFusion 10 ORM 日志记录

java - 如何使用 AOP Spring 和 log4j 实现日志记录

java - 打印多个对象