首页 » Windows » windows下tomcat输出控制台日志文件

windows下tomcat输出控制台日志文件

原文 http://blog.csdn.net/qq_28938933/article/details/76849406

2017-08-07 17:20:28阅读(606)

windowstomcat输出控制台日志文件

windows服务器情况下,无法和linux服务器一样,启动web服务之后,直接tail查看日志,而windwos控制台的输出空间有限,如果遇到大量错误的情况下,console日志刷新太快,无法看到首次错误是在哪里出现的,会产生很多不必要的麻烦,所以从网上查找了windows控制台信息输出到文件的方法,记录一下。

一、首先,windows下tomcat启动文件startup.bat

// 打开新窗口,执行 EXECUTABLE 环境变量所代表的catalina.bat 批处理文件与 CMD_LINE_ARGS 代表的参数 
call "%EXECUTABLE%" start %CMD_LINE_ARGS%

启动程序最后一行:
“call “%EXECUTABLE%” start %CMD_LINE_ARGS%”
其中,执行start会重新打开新的cmd窗口运行catalina.bat,并且在新的窗口中打印日志信息,即我们看到的console,修改strat为run,即不弹出新的cmd窗口,直接在本窗口运行。

此修改,打开catalina.bat不再弹出新的窗口 此修改,也可以解决因为端口冲突导致的tomcat窗口闪退问题

二、其次,startup会运行catalina.bat,修改catalina.bat的内容,在%ACTION%后增加:

>>"%CATALINA_HOME%\logs\consoleTailLog.%DATE%.log"

修改完成:

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_HOME%\logs\consoleTailLog.%DATE%.log"
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_HOME%\logs\consoleTailLog.%DATE%.log"
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_HOME%\logs\consoleTailLog.%DATE%.log"
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_HOME%\logs\consoleTailLog.%DATE%.log"
goto end
:end
此修改,将catalina.bat运行产生的日志信息,打印为文件consoleTailLog.%DATE:~0,10%.log,路径可以自定义 一二修改后,在startup.bat打开的cmd窗口中,将不再打印console日志,直接输出到文件

三、网上还有另一个方法,亲测,有效,最为简单

//直接修改stratup.bat
//修改前
call "%EXECUTABLE%" start %CMD_LINE_ARGS%
//修改为
call "%EXECUTABLE%" run %CMD_LINE_ARGS% >> ..\logs\catalina.log

四、windows下的tail命令
tail命令包含在windows自带组件“Windows Server 2003 Resource Kit Tools”中,可以从微软下载:
https://www.microsoft.com/en-us/download/details.aspx?id=17657
或直接
http://download.microsoft.com/download/8/e/c/8ec3a7d8-05b4-440a-a71e-ca3ee25fe057/rktools.exe
下载后,压缩包打开,找到tail.exe,随便放到哪儿都能用,可查看帮助tail/?

OK,Enjoy it!

最新发布

CentOS专题

关于本站

5ibc.net旗下博客站精品博文小部分原创、大部分从互联网收集整理。尊重作者版权、传播精品博文,让更多编程爱好者知晓!

小提示

按 Ctrl+D 键,
把本文加入收藏夹