2019年01月22日博客https开启

Windows下将Tomcat日志输出到文件之后。按日期切分日志

Tomcat liujingzhong 267℃ 0评论

写在前面
在正式生产环境中,有将Tomcat日志输出到文件中的需求。但是随着项目运行的时长。这个日志将会越来越多。所以做了一个脚本将日志按日期输出。至于怎么将Tomcat日志输出到文件。请参照:https://blog.csdn.net/u010191818/article/details/78629485

经过测试发现按照网上的做法。日志并没有按日期每天生成。只有Tomcat启动的时候才会有新的日志生成。基于此,想到了脚本来实现此需求

脚本

@echo off
rem 取1天之前的日期
echo wscript.echo dateadd("d",-1,date) >%tmp%\tmp.vbs 
for /f "tokens=1,2,3* delims=/" %%i in ('cscript /nologo %tmp%\tmp.vbs') do set y=%%i
for /f "tokens=1,2,3* delims=/" %%i in ('cscript /nologo %tmp%\tmp.vbs') do set m=%%j
for /f "tokens=1,2,3* delims=/" %%i in ('cscript /nologo %tmp%\tmp.vbs') do set d=%%k
if %m% LSS 9 set m=0%m%
if %d% LSS 9 set d=0%d%
echo %y%-%m%-%d%
 
rem 设置 TOMCAT 的主目录
set TOMCAT_PATH=E:\gdsfApps\servers\apache-tomcat-6.0.35-newgdlv
rem 设置 TOMCAT 的监听日志目录
set LOG_PATH=%TOMCAT_PATH%\logs
rem 设置 JAVA_HOME
set JAVA_HOME=E:\Java\jdk1.6.0_45
rem 设置 CATALINA_HOME
set CATALINA_HOME=E:\gdsfApps\servers\apache-tomcat-6.0.35-newgdlv
rem 通过端口找到Tomcat的pid,并进行重启Tomcat操作
netstat -aon |findstr 2080>pid.txt
rem   for /f "delims=" %%a in (pid.txt) do (		
rem      for /f "tokens=1* delims=:" %%i in ('call echo %%a^|find /i "TCP"') do (
rem     	 echo %%a
rem	 ::读取出内容过滤后,写入另一个记事本中
rem	 rem Echo %%a>>"text.txt"
rem       )  
rem    )
rem 读取文件中内容
set /P OEM=<pid.txt
rem 截取文件中的字符串
echo  %OEM:~71,76%
taskkill /f /pid %OEM:~71,76%
ping   -n   5   localhost   > nul
rem 移动文件
move %LOG_PATH%\catalina.out %LOG_PATH%\catalina%y%-%m%-%d%.out
ping   -n   5   localhost   > nul
rem 启动tomcat
call %CATALINA_HOME%\bin\startup.bat
 
rem 将日志保留一个月
forfiles /p "E:\gdsfApps\servers\apache-tomcat-6.0.35-newgdlv\logs /s /m *.* /d -30 /c "cmd /c del @path"

将上述脚本保存为tomcat_log__cutting.bat。

脚本编入Windows定时任务

每天定时在0点执行。操作步骤就不在描述了!

打赏作者

转载请注明:指尖流逝的年华 » Windows下将Tomcat日志输出到文件之后。按日期切分日志

喜欢 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址