windows设置tomcat控制台日志保存到文件

一、windows设置tomcat控制台日志保存到文件(控制台将不在输出日志)

在Linux系统中,Tomcat 启动后默认将很多信息都写入到 catalina.out 文件中,我们可以通过tail  -f  catalina.out 来跟踪Tomcat 和相关应用运行的情况。 在windows下,我们使用startup.bat启动Tomcat以后,会发现catalina日志与Linux记录的内容有很大区别,大多信息只输出到屏幕而没有记录到catalina.out里面。 本文的内容就是要实现在windows下,将相关的控制台输出记录到后台的catalina.out文件中以便将来查看。

把控制台的信息输出到%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文件,是一直增长的,也就是文件会越来越大。
 
  提示:按照上面的修改,tomcat所有的日志都会写入到logs/catalina.out文件内,如果想要按天来生成日志文件,
可以在 %ACTION% 后添加  >> %CATALINA_HOME%/logs/catalina.%date:~0,4%-%date:~5,2%-%date:~8,2%.out(linux系统)
              >> %CATALINA_HOME%\logs\catalina.%date:~0,4%-%date:~5,2%-%date:~8,2%.out(windows系统)
生成的格式为 catalina.yyyy-mm-dd.out(yyyy代表4位年份,mm代表为2位月份,dd代表两位日期)
这种配置方式不会自动每天生成新的catalina.xxxx-xx-xx.out文件,要重新启动tomcat会才回生成,坑啊
 
如果要自动实现按天生成 catalina.xxxx-xx-xx.out文件,需要下载日志分割工具cronolog-1.6.1-win32.zip。
网盘下载链接:

链接:https://pan.baidu.com/s/1MJQ7IFdYFcmn4eH1qJ2EQg
提取码:aag8

然后解压之后将cronolog.exe复制到tomcat的bin目录下,将catalina.bat之前 %ACTION% 后的内容修改为:|%CATALINA_HOME%\bin\cronolog.exe %CATALINA_HOME%\logs\catalina.%%Y-%%m-%%d.out

 

二、启动tomcat中文乱码解决办法

  将目录切换到tomcat的conf目录下:

找到logging.properties文件,打开找到如下配置项:

java.util.logging.ConsoleHandler.encoding = UTF-8

将 UTF-8 修改为 GBK,修改后的效果为:

java.util.logging.ConsoleHandler.encoding = GBK

保存后,重启tomcat!

posted @ 2022-03-17 13:36  灯下一个人  阅读(1914)  评论(0编辑  收藏  举报