Java 似乎无法将Tomcat日志重定向到log4j

Java 似乎无法将Tomcat日志重定向到log4j,java,tomcat,log4j,Java,Tomcat,Log4j,我正在使用此文档将我的Tomcat记录器更改为log4j: 我的log4j.properties文件如文档所示,只是我更改了此行以确认其工作正常: log4j.appender.CATALINA.File=${CATALINA.base}/logs/test_CATALINA 我仍然看到一个文件logs/catalina.out,而不是logs/test_catalina,这让我觉得要么log4j没有被使用,要么我的属性文件没有被读取 我在lib中有tomcat-juli-adapters.j

我正在使用此文档将我的Tomcat记录器更改为log4j:

我的log4j.properties文件如文档所示,只是我更改了此行以确认其工作正常: log4j.appender.CATALINA.File=${CATALINA.base}/logs/test_CATALINA

我仍然看到一个文件logs/catalina.out,而不是logs/test_catalina,这让我觉得要么log4j没有被使用,要么我的属性文件没有被读取

我在lib中有tomcat-juli-adapters.jar、log4j-1.2.17.jar和log4j.properties 并重写bin/tomcat-juli.jar

运行集合-x catalina.sh开始显示:

 eval "/a/java64/jdk1.8.0/bin/java" "-Dnop" -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dlog4j.debug=true  -Djava.endorsed.
dirs="/opt/apache-tomcat-7.0.62/endorsed" -classpath "/opt/apache-tomcat-7.0.62/bin/bootstrap.jar:/opt/apache-tomcat-7.0.62/bin/tomcat-juli.jar" -Dcatalina.base="/opt/apache-tomcat-7.0.62" -Dcatalina.home="/opt/apache-tom
cat-7.0.62" -Djava.io.tmpdir="/opt/apache-tomcat-7.0.62/temp" org.apache.catalina.startup.Bootstrap start &
磁盘上也没有logging.properties文件:

ls conf/*.properties 
conf/catalina.properties
我真的很感激关于如何调试这个的建议——我不确定是否没有正确地找到jar,是否我的log4j.properties有问题,或者Tomcat无法告诉我是否需要log4j

使用Tomcat版本服务器号:7.0.62.0

我真的很感激关于如何调试这个的建议

将Tomcat日志消息从java.util.logging发送到log4j 1.x的切换由Apache Commons日志库执行。(它的编译包重命名版本位于那些
tomcat juli.jar
tomcat juli adapters.jar

Apache Commons日志记录中有一个调试设置。包重命名后,设置名称变为
org.apache.juli.logging.diagnostics.dest

我看不出您执行的这些步骤有任何明显的错误。虚拟问题可能是:文件是否可读

注:

  • 可以将
    tomcat juli adapters.jar
    放入$CATALINA_HOME/bin而不是/lib,但是您需要更新CLASSPATH变量(在
    bin/setenv.sh
    中),以便它包含在java的
    -CLASSPATH
    参数的值中。将两个jar重新打包到一个jar文件也是一种选择

  • 如所述,删除
    conf/logging.properties
    会使java.util.logging返回到默认配置。您可能希望显式配置该文件

  • 可以在Maven Central上找到
    tomcat juli.jar
    tomcat juli adapters.jar
    的源代码。那些图书馆有