转载至 http://blog.csdn.net/u010257076/article/details/51327546
windows下的tomcat只把日志输出到控制台上,每次排错的时候都很费劲。如何才能把日志输入到文件中呢,我在网上查到了很多资料,最常用的配置方法是修改tomcat的bin文件夹下的startup.bat和catalina.bat这两个文件。具体步骤如下
(注 我在此用的是 apache-tomcat-7.0.79 的绿色版,放在D盘的根目录下。我开始用的5点几的版本,在设置文件路径包含空格的,解析的%CATALINA_HOME%路径不正确。然后我下载了7的版本直接放入到了D盘根目录下,其他的路径没有测试。最好使用绿色免安装版,安装版可能没有bat文件):
1修改startup.bat文件内容
把文件中的倒数第二行中的
call "%EXECUTABLE%" start %CMD_LINE_ARGS% 改为: call "%EXECUTABLE%" run %CMD_LINE_ARGS%
修改完之后如下图:
2.修改catalina.bat文件内容
查找catalina.bat含有%ACTION%的4行内容(在文件末),在后面添加 >> %CATALINA_HOME%\logs/catalina.txt
修改之后如下图
这样就会在 tomcat下的logs文件中生成一个catalina.txt。 控制台中的内容就会输入到文件中了。在这里我测试过,只在第一个%ACTION%后面加上>> %CATALINA_HOME%/logs/catalina.txt 即可,其他的三处不需要添加。
唯一一处不足的地方就是配置完之后,把控制台上的内容确实输入到了文件中,但是控制台上的日志不输出了。但是tomcat放到服务器上之后,控制台上是否输出已经不是很重要了。不知道是否还有其他的方法能让控制台和文件同时输出日志
3.按天来输出日志
按照上面的修改,tomcat所有的日志都会写入到logs/catalina.out文件内,如果想要按天来生成日志文件,可以在%ACTION%后添加 >> %CATALINA_HOME%\logs\catalina.%date:~0,4%.%date:~5,2%.%date:~8,2%.txt,生成的格式为catalina.yyyy.mm.dd.out(yyyy代表4位年份,mm代表为2位月份,dd代表两位日期)
如图