Java 了解tomcat中的类加载和卸载
我正在Java 了解tomcat中的类加载和卸载,java,tomcat,redirect,stdout,Java,Tomcat,Redirect,Stdout,我正在catalina.bat中指定以下命令: set JAVA_OPTS=-XX:+TraceClassLoading -XX:+TraceClassUnloading -XX:+PrintGCDetails 日志在控制台中打印,但我无法使用重定向文件中的日志 startup.bat > logs.txt 有人能告诉我如何保存/跟踪控制台日志吗?最简单的方法是更改catalina.bat,如下所示: startup.bat > ..\logs\catalina.out 您需要
catalina.bat
中指定以下命令:
set JAVA_OPTS=-XX:+TraceClassLoading -XX:+TraceClassUnloading -XX:+PrintGCDetails
日志在控制台中打印,但我无法使用重定向文件中的日志
startup.bat > logs.txt
有人能告诉我如何保存/跟踪控制台日志吗?最简单的方法是更改
catalina.bat
,如下所示:
startup.bat > ..\logs\catalina.out
您需要删除所有“start”命令(负责在单独的窗口中启动tomcat)
例如:
更改:
set _EXECJAVA=start "%TITLE%" %_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)如果您想在单独的文件中单独查看GC日志数据,那么将此标志添加到JAVA_选项中也很简单
-Xloggc:filename
因此,在windows上,将c:\gc.log作为
-Xloggc:c:\gc.log
“脚本”实用程序(cygwin)可以帮助您
步骤1.打开命令提示符。
2.通过提供文件名来运行此实用程序。
3.运行.bat文件以启动tomcat。