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里的rewrite跳转的实现
Mar 31 Servers
提升Nginx性能的一些建议
Mar 31 Servers
详解nginx安装过程并代理下载服务器文件
Feb 12 Servers
解决xampp安装后Apache无法启动
Mar 21 Servers
基于Apache Hudi在Google云构建数据湖平台的思路详解
Apr 07 Servers
阿里云k8s服务升级时502错误 springboot项目应用
Apr 09 Servers
在Windows Server 2012上安装 .NET Framework 3.5 所遇到的问题
Apr 29 Servers
Windows Server 修改远程桌面端口的实现
Jun 25 Servers
Windows10安装Apache2.4的方法步骤
Jun 25 Servers
Python安装及建立虚拟环境的完整步骤
Jun 25 Servers
vscode内网访问服务器的方法
Jun 28 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
PHP中用header图片地址 简单隐藏图片源地址
2008/04/09 PHP
PHP实现提取一个图像文件并在浏览器上显示的代码
2012/10/06 PHP
优化innerHTML操作(提高代码执行效率)
2011/08/20 Javascript
jQuery 获取URL的GET参数值的小例子
2013/04/18 Javascript
jquery实现的点击翻书效果代码
2015/11/04 Javascript
js实现遍历含有input的table实例
2015/12/07 Javascript
JavaScript的Number对象的toString()方法
2015/12/18 Javascript
无缝滚动的简单实现代码(推荐)
2016/06/07 Javascript
浅谈DOM的操作以及性能优化问题-重绘重排
2017/01/08 Javascript
jQuery用户头像裁剪插件cropbox.js使用详解
2017/06/07 jQuery
ES6中Set和Map数据结构,Map与其它数据结构互相转换操作实例详解
2019/02/28 Javascript
vue 翻页组件vue-flip-page效果
2020/02/05 Javascript
使用python统计文件行数示例分享
2014/02/21 Python
python自动化测试之从命令行运行测试用例with verbosity
2014/09/28 Python
用Python脚本来删除指定容量以上的文件的教程
2015/05/04 Python
Python中多个数组行合并及列合并的方法总结
2018/04/12 Python
python与C、C++混编的四种方式(小结)
2019/07/15 Python
Pytorch之parameters的使用
2019/12/31 Python
python 数据库查询返回list或tuple实例
2020/05/15 Python
python实现一次性封装多条sql语句(begin end)
2020/06/06 Python
详解Python 中的容器 collections
2020/08/17 Python
Python logging日志库空间不足问题解决
2020/09/14 Python
Django xadmin安装及使用详解
2020/10/26 Python
英国外籍人士的在线超市:British Corner Shop
2019/06/03 全球购物
党员的自我评价范文
2014/01/02 职场文书
应届优秀本科大学毕业生自我鉴定
2014/01/21 职场文书
七年级音乐教学反思
2014/01/26 职场文书
篝火晚会主持词
2014/03/25 职场文书
银行优秀员工事迹材料
2014/05/29 职场文书
计算机网络专业求职信
2014/06/05 职场文书
感恩祖国演讲稿
2014/09/09 职场文书
离职证明标准格式
2014/09/15 职场文书
党干部专题民主生活会对照检查材料思想汇报
2014/10/06 职场文书
2014年秘书工作总结
2014/11/25 职场文书
肖申克的救赎观后感
2015/06/02 职场文书
导游词之山东红叶谷
2019/10/31 职场文书