我已经安装了Tomcat,并使用SLF4J作为我们的日志框架。我将slf4j-api-1.6.4.jar
和slf4j-jdk14-1.6.4.jar
复制到Tomcat库中,即$TOMCAT_HOME/lib
。
我假设如果我使用SLF4J,它将委托给java.util.Logger
,它将委托给底层的Tomcat日志框架。但是当我部署并检查我的应用程序时,我没有看到任何记录。我的所有异常/日志信息都会丢失。
我的理解是正确的,还是我错过了留在课程中的任何东西?
答案 0 :(得分:2)
我没有在$ TOMCAT / lib下复制slf4j-api-1.6.4.jar和slf4j-jdk14-1.6.4.jar,而是使用war应用程序运送这些jar。在这种情况下我的异常被记录。
答案 1 :(得分:1)
您可能需要将系统属性添加到CATALINA_OPTS。
对于Windows系统,请添加到%CATALINA_HOME \ bin \ catalina.bat文件中:
set CATALINA_OPTS=-Djava.util.logging.config.file=\PATH\TO\YOUR\logging.properties
或在Linux / UNIX系统上,添加到$ CATALINA_HOME / bin / catalina.sh文件中:
CATALINA_OPTS=-Djava.util.logging.config.file=/PATH/TO/YOUR/logging.properties
不要忘记在Linux / UNIX系统中,如果CATALINA_OPTS中有多个参数,则需要引用,例如
CATALINA_OPTS="-Xmx256m -Djava.util.logging.config.file=/PATH/TO/YOUR/logging.properties"
这一行是为了确保在启动Tomcat时加载logging.properties文件。
答案 2 :(得分:1)
您可以将Tomcat配置为使用in its docs所述的log4j,将log4j.properties放入$ CATALINA_HOME / lib目录,并将slf4j-api与slf4j-log4j12桥接器配合使用。所以你有干净的slf4j API和log4j的优点,如DailyRollingFileAppender等。