tomcat的catalina.out日志按自定义时间格式进行分割的操作方法


Posted in Servers onApril 02, 2022

默认情况下,tomcat的catalina.out日志文件是没有像其它日志一样,按日期进行分割,而是全部输出全部写入到一个catalina.out,这样日积月累就会造成.out日志越来越大,给管理造成了不便,为了实现像其它日志文件一样按日期归档,这里我采用cronolog来完成日志分割。

一、安装Cronolog

1.yum方式安装

# yum install cronolog

2.下载压缩包安装

1. 下载(最新版本)
wget http://cronolog.org/download/cronolog-1.6.2.tar.gz

2. 解压缩
tar zxvf cronolog-1.6.2.tar.gz
 
3. 进入安装目录
cd cronolog-1.6.2
4. 运行安装
./configure
make
make install
5. 查看是否安装成功
which cronolog
结果:/usr/local/sbin/cronolog  (这个是cronolog的安装路径,后面会用到)

二、修改Tomcat下bin/catalina.sh文件

修改要分隔的Tomcat的日志下bin/catalina.sh文件,要修改的在290行。修改前先拷贝一份。
1. cp catalina.sh catalina.sh.bak
2. vim catalina.sh -c 417  或者  vim catalina.sh之后:417    (进入到catalina.sh的第417行。)

下面为需要修改的内容:标红的是要修改的区域

tomcat的catalina.out日志按自定义时间格式进行分割的操作方法

修改为:
  shift
  # touch "$CATALINA_OUT"
  if [ "$1" = "-security" ] ; then
    if [ $have_tty -eq 1 ]; then
      echo "Using Security Manager"
    fi
    shift
    eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
      -classpath "\"$CLASSPATH\"" \
      -Djava.security.manager \
      -Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\"" \
      -Dcatalina.base="\"$CATALINA_BASE\"" \
      -Dcatalina.home="\"$CATALINA_HOME\"" \
      -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
      org.apache.catalina.startup.Bootstrap "$@" start 2>&1\
      | /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &
 
  else
  fi

tomcat的catalina.out日志按自定义时间格式进行分割的操作方法

修改后,重启Tomcat。可以看到更改已经生效。(看到catalina.out出现了catalina.2017-12-19.out等按照日期分类的输出文件说明配置成功)。

三、shell利用crontab自动清除日志

1.删除文件shell命令详解

find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \;
 
例子:
    find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;
 
说明:将/opt/soft/log/目录下所有30天前带".log"的文件删除。具体参数说明如下:
    find:linux的查找命令,用户查找指定条件的文件;
    /opt/soft/log/:想要进行清理的任意目录;
    -mtime:标准语句写法;
    +30:查找30天前的文件,这里用数字代表天数;
    "*.log":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件,这个可以灵活运用,举一反三;
    -exec:固定写法;
    rm -rf:强制删除文件,包括目录;
    {} \; :固定写法,一对大括号+空格+\+;

2.创建shell脚本即crontab计划任务

# vim del-15-days-ago-logs.sh
find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;
# chmod +x del-15-days-ago-logs.sh
# crontab -e
10 0 * * * /opt/soft/log/del-15-days-ago-logs.sh >/dev/null 2>&1

到此这篇关于tomcat的catalina.out日志按自定义时间格式进行分割的文章就介绍到这了,更多相关tomcat的catalina.out日志内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Servers 相关文章推荐
nginx反向代理时如何保持长连接
Mar 31 Servers
使用Nginx搭载rtmp直播服务器的方法
Oct 16 Servers
Nginx内网单机反向代理的实现
Nov 07 Servers
Nginx 路由转发和反向代理location配置实现
Nov 11 Servers
Kubernetes控制节点的部署
Apr 01 Servers
解决Windows Server2012 R2 无法安装 .NET Framework 3.5
Apr 29 Servers
nginx 配置缓存
May 11 Servers
apache ftpserver搭建ftp服务器
May 20 Servers
nginx rewrite功能使用场景分析
May 30 Servers
Nginx本地配置SSL访问的实例教程
May 30 Servers
彻底卸载VMware虚拟机的超详细步骤记录
Jul 15 Servers
Nginx如何配置多个服务域名解析共用80端口详解
Sep 23 Servers
为Centos安装指定版本的Docker
Apr 01 #Servers
Dashboard管理Kubernetes集群与API访问配置
Kubernetes中Deployment的升级与回滚
Apr 01 #Servers
了解Kubernetes中的Service和Endpoint
Kubernetes控制节点的部署
Apr 01 #Servers
Kubernetes部署实例并配置Deployment、网络映射、副本集
Apr 01 #Servers
iSCSI服务器CHAP双向认证配置
Apr 01 #Servers
You might like
全国FM电台频率大全 - 20 广西省
2020/03/11 无线电
短波的认识
2021/03/01 无线电
解决php中Cannot send session cache limiter 的问题的方法
2007/04/27 PHP
Zend Framework实现多文件上传功能实例
2016/03/21 PHP
Yaf框架封装的MySQL数据库操作示例
2019/03/06 PHP
JavaScript入门教程(1) 什么是JS
2009/01/31 Javascript
jquery showModelDialog的使用方法示例详解
2013/11/19 Javascript
JavaScript中的函数重载深入理解
2014/08/04 Javascript
jQuery内部原理和实现方式浅析
2015/02/03 Javascript
jQuery插件制作之全局函数用法实例
2015/06/01 Javascript
JS+CSS实现的日本门户网站经典选项卡导航效果
2015/09/27 Javascript
跟我学习JScript的Bug与内存管理
2015/11/18 Javascript
jQuery中通过ajax的get()函数读取页面的方法
2016/02/29 Javascript
Bootstrap基本组件学习笔记之下拉菜单(7)
2016/12/07 Javascript
详解有关easyUI的拖动操作中droppable,draggable用法例子
2017/06/03 Javascript
vue中使用vue-router切换页面时滚动条自动滚动到顶部的方法
2017/11/28 Javascript
如何去除富文本中的html标签及vue、react、微信小程序中的过滤器
2018/11/21 Javascript
对numpy中数组元素的统一赋值实例
2018/04/04 Python
python保存文件方法小结
2018/07/27 Python
Python实现的栈、队列、文件目录遍历操作示例
2019/05/06 Python
Django自带的加密算法及加密模块详解
2019/12/03 Python
Python3+selenium实现cookie免密登录的示例代码
2020/03/18 Python
Python xmltodict模块安装及代码实例
2020/10/05 Python
全网最全python库selenium自动化使用详细教程
2021/01/12 Python
利用CSS3的线性渐变linear-gradient制作边框的示例
2016/06/02 HTML / CSS
南非最大的花卉和送礼服务:NetFlorist
2017/09/13 全球购物
高中生毕业学习总结的自我评价
2013/11/14 职场文书
施工安全汇报材料
2014/08/17 职场文书
行政专员岗位职责范本
2014/08/26 职场文书
反对四风问题自我剖析材料
2014/09/29 职场文书
2014个人年终工作总结范文
2014/12/15 职场文书
消防安全月活动总结
2015/05/08 职场文书
今日说法观后感
2015/06/08 职场文书
2015初中政治教学工作总结
2015/07/21 职场文书
pytorch 两个GPU同时训练的解决方案
2021/06/01 Python
Android开发EditText禁止输入监听及InputFilter字符过滤
2022/06/10 Java/Android