Windows下将Tomcat日志输出到文件之后。按日期切分日志
Posted JAIR_FOREVER
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows下将Tomcat日志输出到文件之后。按日期切分日志相关的知识,希望对你有一定的参考价值。
目录
写在前面
在正式生产环境中,有将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日志输出到文件之后。按日期切分日志的主要内容,如果未能解决你的问题,请参考以下文章
windows下tomcat日志输出至catalina.out文件
Tomcat日志文件的输出在Linux和Windows下的差异