前言
当我们在遇到一些老的SSM框架的项目时,我们通常会借助tomcat来启动服务。如果项目并没有做日志处理,但是生产环境有时候又需要进行日志排查,这时候就有点犯难了。
其实windos环境下我们启动tomcat服务无非就是通过窗口命令行和服务进程的方式启动,但是这2种启动方式对我们排查日志都不是很方便,因此我们通常会将我们自己的输出日志输出到我们自己指定的文件中,便于后续排查问题。
准备工作
tomcat安装包(我此处用的是8.5.83版本的)
可以正常运行的java程序war包
cronolog插件
此处提供我百度网盘的cronolog下载地址(网上的windows版本都要收钱,真特么黑):
windows:
链接:https://pan.baidu.com/s/1x8ye9c9ksni-E98dwZpkWg
提取码: qgdh
linux:
链接: https://pan.baidu.com/s/1glwW2mKigrhcKAaw0EZg9Q
提取码: 746m
实现日志切割
-
1,下载工具cronolog-1.6.1-win32.zip,并解压。
-
2,把cronolog.exe放在tomcat的bin目录下
-
3,修改tomcat的startup.bat文件 把start换成run
call "%EXECUTABLE%" start %CMD_LINE_ARGS%
换成
call "%EXECUTABLE%" run %CMD_LINE_ARGS%
- 4,修改tomcat的 catalina.bat文件 。注意cronlog路径
|D:\NeatbeansSofts\apache-tomcat-8.0.\bin\cronolog.exe D:\NeatbeansSofts\apache-tomcat-8.0.\logs\catalina.%%Y-%%m-%%d.out
例如(红色部分)
全局搜索 %ACTION% 关键字,应该会搜索出来4处:
在搜索出来的所有%ACTION%的后面添加上如下内容:
|D:\NeatbeansSofts\apache-tomcat-8.0.\bin\cronolog.exe D:\NeatbeansSofts\apache-tomcat-8.0.\logs\catalina.%%Y-%%m-%%d.out
em Execute Java with the applicable properties
if not "%JPDA%" == "" goto doJpda
if not "%SECURITY_POLICY_FILE%" == "" goto doSecurity
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%**|D:\NeatbeansSofts\apache-tomcat-8.0.36\bin\cronolog.exe D:\NeatbeansSofts\apache-tomcat-8.0.36\logs\catalina.%%Y-%%m-%%d.out**
goto end
:doSecurity
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Djava.security.manager -Djava.security.policy=="%SECURITY_POLICY_FILE%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%**|D:\NeatbeansSofts\apache-tomcat-8.0.36\bin\cronolog.exe D:\NeatbeansSofts\apache-tomcat-8.0.36\logs\catalina.%%Y-%%m-%%d.out**
goto end
:doJpda
if not "%SECURITY_POLICY_FILE%" == "" goto doSecurityJpda
%_EXECJAVA% %JAVA_OPTS% %JPDA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%**|D:\NeatbeansSofts\apache-tomcat-8.0.36\bin\cronolog.exe D:\NeatbeansSofts\apache-tomcat-8.0.36\logs\catalina.%%Y-%%m-%%d.out**
goto end
:doSecurityJpda
%_EXECJAVA% %JAVA_OPTS% %JPDA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Djava.security.manager -Djava.security.policy=="%SECURITY_POLICY_FILE%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%**|D:\NeatbeansSofts\apache-tomcat-8.0.36\bin\cronolog.exe D:\NeatbeansSofts\apache-tomcat-8.0.36\logs\catalina.%%Y-%%m-%%d.out**
goto end
:end