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

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

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!

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xieet_0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值