在tomcat中配置log4j, 使tomcat中输出更详细的日志

来源:互联网 发布:蜂窝移动网络是什么 编辑:程序博客网 时间:2024/06/05 18:35

今天配置struts2应用时,启动tomcat就出现一个Error FilterStart错误。tomcat控制台只输出Error FilterStart, 没有更多其它有用的错误信息。上网搜半天也没搜到答案,因为出现这个错误有很多种原因。最根本最有效的方法就是让tomcat打印更详细的日志,以便我们找出错误原因。

 

具体步骤如下:

在tomcat官方网站,有一篇相关文章叫Logging in Tomcat, 地址为http://tomcat.apache.org/tomcat-6.0-doc/logging.html

在这个例子中,我用的tomcat版本是apache-tomcat-6.0.35

 

一。 下载所需的jar包

log4j-1.2.16.jar:

http://www.apache.org/dyn/closer.cgi/logging/log4j/1.2.16/apache-log4j-1.2.16.zip

tomcat-juli-adapters.jar:

http://dldx.csdn.net/fd.php?i=228550794227793&s=2b995791f29a543d2dd4754a9494f117

http://www.apache.org/dist/tomcat/tomcat-6/v6.0.36/bin/extras/tomcat-juli-adapters.jar

tomcat-juli.jar:

http://dldx.csdn.net/fd.php?i=317650794183761&s=1b6457171e5a8e5f2c4741707a1062a7

http://www.apache.org/dist/tomcat/tomcat-6/v6.0.36/bin/extras/tomcat-juli.jar

 

二。编写log4j.properties文件,文件内容如下:

log4j.rootLogger=INFO, CATALINA# Define all the appenders
#以下四行是配置日志打印到日志文件#log4j.appender.CATALINA=org.apache.log4j.DailyRollingFileAppender#log4j.appender.CATALINA.File=${catalina.base}/logs/catalina.#log4j.appender.CATALINA.Append=true#log4j.appender.CATALINA.Encoding=UTF-8
#以下四行是配置日志打印到控制台
log4j.appender.CATALINA=org.apache.log4j.ConsoleAppenderlog4j.appender.CATALINA.Encoding=UTF-8log4j.appender.CATALINA.layout = org.apache.log4j.PatternLayoutlog4j.appender.CATALINA.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
# Roll-over the log once per daylog4j.appender.CATALINA.DatePattern='.'yyyy-MM-dd'.log'log4j.appender.CATALINA.layout = org.apache.log4j.PatternLayoutlog4j.appender.CATALINA.layout.ConversionPattern = %d [%t] %-5p %c- %m%nlog4j.appender.LOCALHOST=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.LOCALHOST.File=${catalina.base}/logs/localhost.log4j.appender.LOCALHOST.Append=truelog4j.appender.LOCALHOST.Encoding=UTF-8log4j.appender.LOCALHOST.DatePattern='.'yyyy-MM-dd'.log'log4j.appender.LOCALHOST.layout = org.apache.log4j.PatternLayoutlog4j.appender.LOCALHOST.layout.ConversionPattern = %d [%t] %-5p %c- %m%nlog4j.appender.MANAGER=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.MANAGER.File=${catalina.base}/logs/manager.log4j.appender.MANAGER.Append=truelog4j.appender.MANAGER.Encoding=UTF-8log4j.appender.MANAGER.DatePattern='.'yyyy-MM-dd'.log'log4j.appender.MANAGER.layout = org.apache.log4j.PatternLayoutlog4j.appender.MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%nlog4j.appender.HOST-MANAGER=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.HOST-MANAGER.File=${catalina.base}/logs/host-manager.log4j.appender.HOST-MANAGER.Append=truelog4j.appender.HOST-MANAGER.Encoding=UTF-8log4j.appender.HOST-MANAGER.DatePattern='.'yyyy-MM-dd'.log'log4j.appender.HOST-MANAGER.layout = org.apache.log4j.PatternLayoutlog4j.appender.HOST-MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%nlog4j.appender.CONSOLE=org.apache.log4j.ConsoleAppenderlog4j.appender.CONSOLE.Encoding=UTF-8log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayoutlog4j.appender.CONSOLE.layout.ConversionPattern = %d [%t] %-5p %c- %m%n# Configure which loggers log to which appenderslog4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=INFO, LOCALHOSTlog4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager]=\  INFO, MANAGERlog4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager]=\  INFO, HOST-MANAGER

 

三。将log4j.properties文件和log4j-1.2.16.jar,tomcat-juli-adapters.jar两个jar包放到apache-tomcat-6.0.35\lib目录下

 

四。用刚才下的tomcat-juli.jar替换apache-tomcat-6.0.35\bin\tomcat-juli.jar

 

启动tomcat,如果以上文给出的log4j.properties文件来配置log4j,那么tomcat控制台就没有任何信息输入,日志都输出到apache-tomcat-6.0.35\logs\catalina文件中了.

原创粉丝点击