系统部署到客户的环境中避免控制台打印日志,可以将控制台日志信息存入指定文件夹下,并按日期进行记录。
优点:
1.日志直接打印到控制台,每次服务启动不会打印大量初始化的日志信息,加快了启动速度。
2.报错信息不显示到控制台上,方便排查问题,客户运维人员看不到。
以下只针对windows版进行设置,适用于windows服务器(亲测)
把控制台的信息输出到%CATALINA_BASE%\logs\catalina.out里:
1、打开bin下面的 startup.bat文件,把最下面一行的call "%EXECUTABLE%" start %CMD_LINE_ARGS%
改为 call "%EXECUTABLE%" run %CMD_LINE_ARGS%
注:上面这样设置之后,运行tomcat后,日志就不会实时显示到tomcat运行窗口了。
2、打开bin下面的 catalina.bat文件,会发现文件里共有4处 %ACTION% ,在后面分别加上
>> %CATALINA_HOME%\logs\catalina.out
注:windows中反斜杠和 linux是反的。重启tomcat,就会发现在logs文件夹下出现了catalina.out文件,把原来控制台的信息全写进去了。但输出的这个catalina.out文件,是一直增长的,也就是文件会越来越大。
3、如果想要实现 catalina.out 按日期自动切割的话,需要下载 cronolog-1.6.1-win32 ,并把 cronolog.exe 放在Tomcat 服务器的 bin 目录下。然后在 catalina.bat 的4处 %ACTION% 后加上:
| .\cronolog.exe %CATALINA_HOME%\logs\catalina.%%Y-%%m-%%d.out
注:附上 cronolog-1.6.1-win32 的下载地址,找了好久,只有CSDN的付费下载,对于没有CSDN积分的我来说真是好伤啊!造福大家!链接:https://pan.baidu.com/s/1smfIvQ9 密码:3fq6