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实现发布静态资源的方法
Mar 31 Servers
浅谈Nginx 中的两种限流方式
Mar 31 Servers
Nginx 过滤静态资源文件的访问日志的实现
Mar 31 Servers
如何利用map实现Nginx允许多个域名跨域
Mar 31 Servers
教你快速开启Apache SkyWalking的自监控
Apr 25 Servers
JVM上高性能数据格式库包Apache Arrow入门和架构详解(Gkatziouras)
May 26 Servers
nginx内存池源码解析
Nov 20 Servers
Windows server 2012 配置Telnet以及用法详解
Apr 28 Servers
永中文档在线转换预览基于nginx配置部署方案
Jun 10 Servers
WIN10使用IIS部署ftp服务器详细教程
Aug 05 Servers
nginx配置指令之server_name的具体使用
Aug 14 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
关于php 接口问题(php接口主要也就是运用curl,curl函数)
2013/07/01 PHP
PHP写日志的实现方法
2014/11/05 PHP
js控制页面控件隐藏显示的两种方法介绍
2013/10/09 Javascript
javascript密码强度校验代码(两种方法)
2015/08/10 Javascript
HTML5之WebSocket入门3 -通信模型socket.io
2015/08/21 Javascript
javascript中html字符串转化为jquery dom对象的方法
2015/08/27 Javascript
基于jquery实现省市联动特效
2015/12/17 Javascript
Javascript中的神器——Promise
2017/02/08 Javascript
jq stop()和:is(:animated)的用法及区别(详解)
2017/02/12 Javascript
js HTML5 canvas绘制图片的方法
2017/09/08 Javascript
Vue.js实现的计算器功能完整示例
2018/07/11 Javascript
详解使用VUE搭建后台管理系统(vue-cli更新至3.0)
2018/08/22 Javascript
详解Vue CLI3配置之filenameHashing使用和源码设计使用和源码设计
2018/08/31 Javascript
JS如何实现动态添加的元素绑定事件
2019/11/12 Javascript
小程序点餐界面添加购物车左右摆动动画
2020/09/23 Javascript
[04:29]【TI9采访】OG.N0tail在胜者组决赛后接受采访
2019/08/25 DOTA
python基础教程之常用运算符
2014/08/29 Python
python实现封装得到virustotal扫描结果
2014/10/05 Python
在Python中处理日期和时间的基本知识点整理汇总
2015/05/22 Python
Windows下Python2与Python3两个版本共存的方法详解
2017/02/12 Python
transform python环境快速配置方法
2018/09/27 Python
解决pyinstaller打包exe文件出现命令窗口一闪而过的问题
2018/10/31 Python
python 生成图形验证码的方法示例
2018/11/11 Python
Python SSL证书验证问题解决方案
2020/01/13 Python
日本最大的彩色隐形眼镜销售网站:CharmColor
2020/09/09 全球购物
社区庆中秋节活动方案
2014/02/07 职场文书
班级道德讲堂实施方案
2014/02/24 职场文书
模具专业毕业推荐信
2014/03/08 职场文书
安全生产知识竞赛活动总结
2014/07/07 职场文书
公司年底活动方案
2014/08/17 职场文书
党的群众路线教育实践活动组织生活会发言材料
2014/10/17 职场文书
烛光里的微笑观后感
2015/06/17 职场文书
幼儿园大班教师随笔
2015/08/14 职场文书
2016关于读书活动的心得体会
2016/01/14 职场文书
导游词之任弼时故居
2020/01/07 职场文书
详解mysql三值逻辑与NULL
2021/05/19 MySQL