我在catalina.bat
中指定以下命令:
set JAVA_OPTS=-XX:+TraceClassLoading -XX:+TraceClassUnloading -XX:+PrintGCDetails
日志打印在控制台中,但我无法使用重定向文件中的日志
startup.bat > logs.txt
谁能告诉我如何保存/跟踪控制台日志?
最佳答案
解决此问题的最简单方法是如下更改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)
关于java - 了解tomcat中的类加载和卸载,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3682783/