1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
tomcat有时候启动的时候,会出现问题,我们如何排查呢
1.利用log,通过设置log级别,利用这种方法,可以找出在tomcat没有加载项目的时候,报的错误
2.设置java_opt,看jvm gc.log,heap.bin
3.应用debug开启,比如dubbo的debug
 
第一种
Tomcat启动报Error listenerStart错误
今天启动Tomcat启动不了,报以下错: 
org.apache.catalina.core.StandardContext startInternal 
SEVERE: Error listenerStart 
org.apache.catalina.core.StandardContext startInternal 
SEVERE: Context [/******] startup failed due to previous errors 
 
网上找了N多文章,都没有切中要害。 
后来在国外网站上搜到一个方法 
http: //grails .1312388.n4.nabble.com /Deployment-problems-td4628710 .html。 
我试了一下,是可以的。方案如下。 
 
Tomcat报的错太含糊了,什么错都没报出来,只提示了Error listenerStart。为了调试,我们要获得更详细的日志。可以在WEB-INF /classes 目录下新建一个文件叫logging.properties,内容如下 
 
Java代码
handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler  
   
############################################################  
# Handler specific properties.  
# Describes specific configuration info for Handlers.  
############################################################  
   
org.apache.juli.FileHandler.level = FINE  
org.apache.juli.FileHandler.directory = ${catalina.base} /logs  
org.apache.juli.FileHandler.prefix = error-debug.  
   
java.util.logging.ConsoleHandler.level = FINE  
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter  
 
 
这样,我们再启动tomcat时,就会在logs目录下生成一个更详细的日志error-debug.2012-05-31.log。 
 
我们进去看看什么错吧。 
我碰到的错误是FileNotFoundException.大家碰到的错应该各式各样都有,所以就要具体问题具体分析了。 
tomcat的logging文档具体可参考
 
第二种
设置java_opt,看jvm gc.log,heap.bin
 
第三种
应用debug开启,比如dubbo的debug