[tomcat7源码学习]配置debug

配置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,然后就可以看到控制台中输出的日志信息明显比之前要多很多了

你可能感兴趣的:(eclipse,tomcat,tomcat7)