在平时启动tomcat的时候经常会由于某些莫名其妙的原因导致启动不起来,比如常见的Error  listenerStart 错误,像这种错误描述的比较宽泛而难以定位,对,有些人说这是在web.xml中配置的关于<listener><listener-class>org.springframework.web.context.contextLoaderListener</listener-class></listener>

中将contextLoaderListener替换为org.springframework.web.context,contextLoaderServlet就好了,这种方式或许能解决该问题,但这种明显逃避式的解决办法并不是根本途径,所以我们需要更为准确的错误信息来定位错误,所以我们需要tomcat的log的记录作用。

       以tomcat 5.5 为例,tomcat默认是不记录日志的,所以我们需要进行配置:

1、下载jar包。在tomcat->common->lib目录中,需要log4j.jar 和 commons-loging.jar

2、在tomcat->common->classes目录中,建一个log4j.properties的文件,将下面的日志记录级别的配置copy进去

log4j.rootLogger=info,Console,R
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
#log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.appender.Console.layout.ConversionPattern=%d{yy-MM-dd HH:mm:ss} %5p %c{1}:%L - %m%n
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=${catalina.home}/logs/tomcat.log
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy.MM.dd HH:mm:ss} %5p %c{1}(%L):? %m%n
log4j.logger.org.apache=info, R
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=DEBUG, R
log4j.logger.org.apache.catalina.core=info, R
log4j.logger.org.apache.catalina.session=info, R

这样就ok了

注意:日志文件会占据磁盘空间,所以需要定期清理没用的log文件!