windows环境下tomcat实现日志切割

前言

  当我们在遇到一些老的SSM框架的项目时,我们通常会借助tomcat来启动服务。如果项目并没有做日志处理,但是生产环境有时候又需要进行日志排查,这时候就有点犯难了。
  其实windos环境下我们启动tomcat服务无非就是通过窗口命令行和服务进程的方式启动,但是这2种启动方式对我们排查日志都不是很方便,因此我们通常会将我们自己的输出日志输出到我们自己指定的文件中,便于后续排查问题。

存在的问题

  tomcat可以将日志输出到指定的文件中,不过还有一个问题就是,日志内容会一直输出到该文件中,随着时间的积累,日志文件会越来越大。文件太大的话也会导致我们排查日志的效率,因此我们需要的是tomca可以按照时间来进行日志存储,比如每天的日志写进一个文件、或者每个月的日志写到对应的一个文件里面,这样就便于我们后续进行日志排查,这也就是我们所说的日志切割。但是很遗憾tomcat本身并不具备有日志切割的功能,但是聪明的前辈们已经想到了各种办法来实现tomcat的日志切割功能。常用的的实现日志切割方法

由于时间的原因,我自己也只是用了第一种方法来实现日志切割(我是在windows下环境实现的哈),至于后边的2种,大家有时间可以自行尝试一下,废话不多说,重点来了。

准备工作

  1. tomcat安装包(我此处用的是9.0.8版本的)
  2. 可以正常运行的java程序war包
  3. cronolog插件
    此处提供我百度网盘的cronolog下载地址(网上的windows版本都要收钱,真特么黑):
    windows:
    链接: https://pan.baidu.com/s/1x8ye9c9ksni-E98dwZpkWg
    提取码: qgdh
    linux:
    链接: https://pan.baidu.com/s/1glwW2mKigrhcKAaw0EZg9Q
    提取码: 746m

实现日志切割

1.修改tomcat的bin目录下的startup.bat文件

将倒数第二行的内容进行修改:
call “%EXECUTABLE%” start %CMD_LINE_ARGS%
修改成

call "%EXECUTABLE%" run %CMD_LINE_ARGS% >>%CATALINA_BASE%\logs\cardServer\cardServer-log.%%Y-%%m-%%d.txt

2.修改tomcat的bin目录下的catalina.bat文件

全局搜索 %ACTION% 关键字,应该会搜索出来4处:
在搜索出来的所有%ACTION%的后面添加上如下内容:

|%CATALINA_BASE%\bin\cronolog %CATALINA_BASE%\logs\cardServer\cardServer-log.%%Y-%%m-%%d.txt >> null

我的配置文件如下:
在这里插入图片描述

3.tomcat的logs文件夹下面创建一个cardServer文件夹

我此处创建这个cardServer文件夹是专门用于存放我们自己的日志的,名称也可以随意改,名字改了之后记得修改配置文件中我们刚刚添加的的路径里面的文件夹名称

4. 将cronolog文件夹中的cronolog.exe复制到tomcat的bin目录下

在这里插入图片描述

5.运行tomcat查看结果

在这里插入图片描述
看图就可以知道了,往后我们每天的的日志都会存储到对应的文件中,这样就大大的利于日志查询。
cardServer-log.%Y-%m-%d.txt 这文件大家不用管,里面好像是记录的每次启动后使用的tomcat的一些相关参数等:
在这里插入图片描述

小结

网上有的文章教程是进行切割catalina.out文件,反正都是一样的,我们最终的目的都是把日志输入到文件中并且自动切割。我此处弄成cardServer-log.2022-05-21.txt是因为我们项目叫cardServer,txt文件后缀是因为文件打开方便,仅此而已。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值