生成catalina.out方法
導語:本文為Windows下生tomcat將控制台信息輸出到catalina.out文件 且 保證能實時查看日志文件的方法。
一、創建catalina.out
1、修改tomcat bin目錄下的startup.bat文件
修改位置:在startup.bat文件倒數第二行
修改call "%EXECUTABLE%" start%CMD_LINE_ARGS%
為:call "%EXECUTABLE%" run %CMD_LINE_ARGS%
2、修改catalina.bat文件
修改位置:catalina.bat文件最后幾行
修改為(修改處已用紅色標記):
rem Execute Java with the applicable properties
if not "%JPDA%" == "" goto doJpda
if not "%SECURITY_POLICY_FILE%" == "" goto doSecurity
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION% >> "%CATALINA_BASE%"\logs\catalina_%DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%.out
goto end
:doSecurity
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Djava.security.manager -Djava.security.policy=="%SECURITY_POLICY_FILE%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION% >> "%CATALINA_BASE%"\logs\catalina_%DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%.out
goto end
:doJpda
if not "%SECURITY_POLICY_FILE%" == "" goto doSecurityJpda
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %JPDA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION% >> "%CATALINA_BASE%"\logs\catalina_%DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%.out
goto end
:doSecurityJpda
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %JPDA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Djava.security.manager -Djava.security.policy=="%SECURITY_POLICY_FILE%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
>>"%CATALINA_BASE%"\logs\catalina_%DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%.out
goto end
:end
3、啟動startup.bat文件 查看tomcat logs目錄下是否存在catalina.out文件
二、如何實時查看catalina.out文件?
1、安裝rktools.exe文件 記錄安裝路徑
2、將rktools.exe安裝路徑添加PATH環境變量中
在cmd下tail /?,出現以下信息則說明安裝成功了:

3、在tomcat bin 目錄下新增tomcat_s1log.bat文件(文件名可以自行定義),內容如下:
@echo off
if not exist "%CATALINA_BASE%"\logs\catalina_%DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%.out echo "" > "%CATALINA_BASE%"\logs\catalina_%DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%.out
tail -f "%CATALINA_BASE%"\logs\catalina_%DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%.out

4、修改catalina.bat文件
185行:echo Using JRE_HOME: "%JRE_HOME%"
goto java_dir_displayed
:use_jdk
echo Using JAVA_HOME: "%JAVA_HOME%"
:java_dir_displayed
echo Using CLASSPATH: "%CLASSPATH%"
修改為:
echo Using JRE_HOME: "%JRE_HOME%"
tomcat_s1log.bat
goto java_dir_displayed
:use_jdk
echo Using JAVA_HOME: "%JAVA_HOME%"
:java_dir_displayed
echo Using CLASSPATH: "%CLASSPATH%"
5、啟動startup.bat 會看到兩個控制台 一個啟動信息界面 一個實時日志監控界面
(注:如果想把tomcat_s1log.bat放在桌面啟動 則需要修改tomcat_s1log.bat
里面的"%CATALINA_BASE%"修改為對應的tomcat目錄。)
例:
d:
cd D:\\Program Files\\apache-tomcat-7.0.5\\logs
if not exist catalina_%DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%.out echo "" > catalina_%DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%.out
tail -f catalina_%DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%.out
