配置debug
###开始debug
直接点击debug,发现默认输出的日志信息有限,不利于调试,所以决定先修改一下日志级别,在代码中会发现很多类似于
if (log.isDebugEnabled())
log.debug("Loading startup class");
这种用log.isDebugEnabled()
判断是否输出debug信息的,就跟踪这个函数进去,看它的实现方式为:
@Override
public final boolean isDebugEnabled() {
return logger.isLoggable(Level.FINE);
}
看来是需要日志级别为FINE的,才会输出debug信息
###配置日志
1.先跟踪查看一下catalina.bat中最终执行的命令,为:
"start "Tomcat" "E:\ProgramFiles\Environment\java\jdk1.6.0_31_64\bin\java"
-Djava.util.logging.config.file="F:\git\remind\repository\tomcat70\conf\logging.properties"
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.endorsed.dirs="F:\git\remind\repository\tomcat70\endorsed"
-classpath "F:\git\remind\repository\tomcat70\bin\bootstrap.jar;F:\git\remind\repository\tomcat70\bin\tomcat-juli.jar"
-Dcatalina.base="F:\git\remind\repository\tomcat70"
-Dcatalina.home="F:\git\remind\repository\tomcat70"
-Djava.io.tmpdir="F:\git\remind\repository\tomcat70\temp"
org.apache.catalina.startup.Bootstrap start"
2.把上面的命令参数中关于log的复制出来
-Djava.util.logging.config.file="F:\git\remind\repository\tomcat70\conf\logging.properties"
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
加入到eclipse debug中的vm参数里面
3.修改日志级别
打开上面配置参数里面的logging.properties文件,在末尾加入
org.apache.catalina.level = FINE
4.点击eclipse中的debug,然后就可以看到控制台中输出的日志信息明显比之前要多很多了