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配置并兼容HTTP实现代码解析
Mar 31 Servers
Linux安装Nginx步骤详解
Mar 31 Servers
Nginx已编译的nginx-添加新模块
Apr 01 Servers
Nginx下SSL证书安装部署步骤介绍
Dec 06 Servers
解决xampp安装后Apache无法启动
Mar 21 Servers
Apache Pulsar结合Hudi构建Lakehouse方案分析
Mar 31 Servers
tomcat的catalina.out日志按自定义时间格式进行分割的操作方法
Apr 02 Servers
Docker 镜像介绍以及commit相关操作
Apr 13 Servers
阿里云ECS云服务器快照的概念以及如何使用
Apr 21 Servers
排查Tomcat进程假死的问题
May 06 Servers
服务器SVN搭建图文安装过程
Jun 21 Servers
Docker容器harbor私有仓库部署和管理
Aug 05 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
从零开始的异世界生活:第二季延期后,B站上架了第二部剧场版
2020/05/06 日漫
PHP strtr() 函数使用说明
2008/11/21 PHP
php查询whois信息的方法
2015/06/08 PHP
CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析
2016/05/18 PHP
php生成网页桌面快捷方式
2017/05/05 PHP
一段利用WSH获取登录时间的jscript代码
2008/05/11 Javascript
jquery复选框CHECKBOX全选、反选
2008/08/30 Javascript
document.getElementById的简写方式(获取id对象的简略写法)
2010/09/10 Javascript
javascript实现锁定网页、密码解锁效果(类似系统屏幕保护效果)
2014/08/15 Javascript
jQuery使用toggleClass方法动态添加删除Class样式的方法
2015/03/26 Javascript
在Javascript中处理数组之toSource()方法的使用
2015/06/09 Javascript
js操作数组函数实例小结
2015/12/10 Javascript
学习javascript面向对象 实例讲解面向对象选项卡
2016/01/04 Javascript
JavaScript实现身份证验证代码
2016/02/17 Javascript
JQuery控制DIV的选取实现方法
2016/09/18 Javascript
jquery 判断div show的状态实例
2016/12/03 Javascript
微信小程序实现图片预加载组件
2017/01/18 Javascript
基于Vue实现可以拖拽的树形表格实例详解
2018/10/18 Javascript
vue动态配置模板 'component is'代码
2019/07/04 Javascript
JS数组扁平化、去重、排序操作实例详解
2020/02/24 Javascript
JavaScript实现栈结构Stack过程详解
2020/03/07 Javascript
[50:20]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第四局
2016/03/06 DOTA
[03:05]《我与DAC》之xiao8:DAC与BG
2018/03/27 DOTA
Python 创建子进程模块subprocess详解
2015/04/08 Python
用实例解释Python中的继承和多态的概念
2015/04/27 Python
Python3 加密(hashlib和hmac)模块的实现
2017/11/23 Python
Python代码缩进和测试模块示例详解
2018/05/07 Python
python3.5基于TCP实现文件传输
2020/03/20 Python
python开启摄像头以及深度学习实现目标检测方法
2018/08/03 Python
使用keras实现Precise, Recall, F1-socre方式
2020/06/15 Python
Python爬虫爬取有道实现翻译功能
2020/11/27 Python
python文件路径操作方法总结
2020/12/21 Python
自行车租赁公司创业计划书
2014/01/28 职场文书
小学生国庆65周年演讲稿范文(2篇)
2014/09/21 职场文书
图文详解nginx日志切割的实现
2022/01/18 Servers
nginx共享内存的机制详解
2022/03/21 Servers