tomcat输出日志到文件和控制台

5 篇文章 0 订阅
3 篇文章 0 订阅

来源:http://blog.sina.com.cn/s/blog_a0e7e34c01016a44.html


windowstomcat的启动脚本默认不像unix下的脚本那样输出应用日志到logs/catalina.out,只在console中输出,如果日志刷的太快根本没法找到错误信息。

为了把日志输出到文件,需要修改以下脚本。

1)修改startup.bat,把脚本的倒数第二行:call "%EXECUTABLE%" start %CMD_LINE_ARGS%


windows环境,tomcat输出日志到文件和控制台


改为:call "%EXECUTABLE%" run %CMD_LINE_ARGS%


windows环境,tomcat输出日志到文件和控制台

2)修改catalina.bat最后的一部分代码:


windows环境,tomcat输出日志到文件和控制台

红色划线的部分是需要增加的代码:>> �TALINA_HOME%\logs\catalina.�te:~0,10%.out


其中的catalina.�te:~0,10%.out是为了分日期存放日志文件。在cmdecho �te%看看,

如:2011-04-19 星期二


windows环境,tomcat输出日志到文件和控制台

发现从第一个字符开始,长度为10的子串正是2011-04-19

 

这样在开发过程中每次双击startup.bat启动tomcat,脚本都会把应用日志保存到日期对应命名的日志文件中了。可是又带来一个新的问题,由于>> �TALINA_HOME%\logs\catalina.�te:~0,10%.out 把输出都重定向到了文件中,console中就无法实时显示日志内容了,如何做到既把日志保存到磁盘文件中,又能在屏幕上实时监控日志呢?

 

想到unix下有tail -f ,于是试着度娘了一下“dos tail”,还真找到了一个在dos下的tail命令,只是要先安装一个windows组件Windows Server 2003 Resource Kit Tools

如安装目录为“D:\Program Files\Windows Resource Kits\Tools”,把这个路径加入到PATH环境变量。

cmdtail /? ,出现以下信息则说明安装成功了:

usage: TAIL [switches] [filename]*

   switches: [-?] display this message

             [-n] display last n lines of each file (default 10)

             [-f filename] keep checking filename for new lines

 windows环境,tomcat输出日志到文件和控制台

tomcat主目录的bin下新建一个bat脚本taillog.bat,内容为:

if not exist "�TALINA_HOME%\logs\catalina.�te:~0,10%.out" echo "" > �TALINA_HOME%\logs\catalina.�te:~0,10%.out

tail -f �TALINA_HOME%\logs\catalina.�te:~0,4%-�te:~5,2%-�te:~8,2%.out

最后在catalina.bat中调用这个脚本:


windows环境,tomcat输出日志到文件和控制台


 

这样就会弹出一个新的窗体,将"�TALINA_HOME%\logs\catalina.�te:~0,10%.out"中的日志显示出来,如下图:


windows环境,tomcat输出日志到文件和控制台


 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值