刚刚发布了Web下查看Tomcat日志–Java,首先要做的就是配置Tomcat日志重定向到文件,甚至是按日期分割日志,Tomcat默认是将运行日志输出到Console。
文章目录
1.修改startup.bat
将start
改为run
,其实就是调用catalina.bat批处理文件
2.修改catalina.bat
在文档内新增代码,重定向到文件(在文章末尾,有4处修改):
>> %CATALINA_BASE%\logs\catalina.%date:~0,4%%date:~5,2%%date:~8,2%.out
这是为了避免与系统显示的日期格式有关,若日期以“/”分割,“/”可能误判为命令行参数。比如,用下面代码,就要先把系统日期格式修改为以“-”分割,像:“yyyy-mm-dd”。
>> %CATALINA_BASE%\logs\catalina.%date:~0,10%.out
3.tail.exe和taillog.bat
在tomcat/bin目录下新增tail.exe和taillog.bat文件,当然也可以将tail.exe添加到系统变量PATH路径上,一劳永逸。tail命令与Linux下的tail调用是类似功能的。
tailog.bat批处理文件其实就是调用tail命令
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
tail.exe和taillog.bat文件下载:Windows tail命令下载
4.catalina.bat调用脚本
在catalina.bat适当位置加入 start taillog.bat
以调用tail /f
命令
5.启动startup
启动startup.bat文件,查看显示结果
这样就实现了Windows下将tomcat日志重定向到文件,并按日期进行日志分割。频繁的文件I/O会不会使性能急剧下降,我就不得而知了。
评论是一种态度,也是一种鼓励!