【问题标题】:Knowing class loading and unloading in tomcat了解tomcat中的类加载和卸载
【发布时间】:2010-09-10 07:03:20
【问题描述】:

我在catalina.bat中指定以下命令:

set JAVA_OPTS=-XX:+TraceClassLoading -XX:+TraceClassUnloading -XX:+PrintGCDetails

日志打印在控制台中,但我无法使用

重定向文件中的日志
startup.bat > logs.txt

谁能告诉我如何保存/跟踪控制台日志?

【问题讨论】:

    标签: java tomcat redirect stdout


    【解决方案1】:

    解决此问题的最简单方法是将catalina.bat 更改如下:

    您需要删除所有“启动”命令(负责在单独的窗口中启动 tomcat)。

    例子:

    变化:

    set _EXECJAVA=start "%TITLE%" %_RUNJAVA%
    

    到

    set _EXECJAVA=%_RUNJAVA%
    

    您需要更改所有匹配项。

    完成此更改后,您可以按如下方式重定向标准输出:

    startup.bat > ..\logs\catalina.out
    

    另一种选择是创建您自己的启动文件,例如mystartup.bat,其中包含以下命令:

    java %JAVA_OPTS% -Djava.util.logging.config.file="%TOMCAT_HOME%\conf\logging.properties" -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager   -Djava.endorsed.dirs="%TOMCAT_HOME%\endorsed" -classpath "%TOMCAT_HOME%\bin\bootstrap.jar" -Dcatalina.base="%TOMCAT_HOME%" -Dcatalina.home="%TOMCAT_HOME%" -Djava.io.tmpdir="%TOMCAT_HOME%\temp" org.apache.catalina.startup.Bootstrap  start
    

    并执行它:

    mystartup.bat > ..\logs\catalina.out
    

    (谢天谢地,这个问题在 UNIX 中不存在,因为 catalina.sh 脚本会自动将 stdout/stderr 重定向到 $CATALINA_OUT)

    【讨论】:

      【解决方案2】:

      如果您想在单独的文件中单独查看 GC 记录数据,也可以简单地将此标志添加到您的 JAVA_OPTS

      -Xloggc:filename
      

      所以在 windows 上,写入 c:\gc.log 为

      -Xloggc:c:\gc.log
      

      【讨论】:

        【解决方案3】:

        “脚本”实用程序 (cygwin) 可以帮助您。

        步骤
        1. 打开命令提示符。
        2. 通过提供文件名运行此实用程序。
        3.运行.bat文件启动tomcat。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-08-05
          • 2020-09-06
          • 1970-01-01
          • 1970-01-01
          • 2019-03-09
          相关资源
          最近更新 更多