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 相关文章推荐
使用Apache的rewrite
Mar 09 Servers
JVM上高性能数据格式库包Apache Arrow入门和架构详解(Gkatziouras)
May 26 Servers
配置nginx 重定向到系统维护页面
Jun 08 Servers
nginx请求限制配置方法
Jul 09 Servers
nginx安装以及配置的详细过程记录
Sep 15 Servers
从零开始在Centos7上部署SpringBoot项目
Apr 07 Servers
Windows server 2012 NTP时间同步的实现
Jun 25 Servers
设置IIS Express并发数
Jul 07 Servers
Nginx文件已经存在全局反向代理问题排查记录
Jul 15 Servers
Nginx 502 bad gateway错误解决的九种方案及原因
Aug 14 Servers
Windows Server 2016服务器用户管理及远程授权图文教程
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删除特定数组内容并且重建数组索引的方法.
2011/03/25 PHP
php入门学习知识点六 PHP文件的读写操作代码
2011/07/14 PHP
推荐一款PHP+jQuery制作的列表分页的功能模块
2014/10/14 PHP
php实现的一个简单json rpc框架实例
2015/03/30 PHP
PHP使用preg_split()分割特殊字符(元字符等)的方法分析
2017/02/04 PHP
PHP性能分析工具xhprof的安装使用与注意事项
2017/12/19 PHP
动态加载图片路径 保持JavaScript控件的相对独立性
2010/09/03 Javascript
从面试题学习Javascript 面向对象(创建对象)
2012/03/30 Javascript
javascript学习(一)构建自己的JS库
2013/01/02 Javascript
解决checkbox的attr(checked)一直为undefined问题
2014/06/16 Javascript
原生js实现移动开发轮播图、相册滑动特效
2015/04/17 Javascript
HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
2015/11/25 Javascript
写给小白的JavaScript引擎指南
2015/12/04 Javascript
简单实现jQuery进度条轮播实例代码
2016/06/20 Javascript
JS实现方形抽奖效果
2018/08/27 Javascript
vue接口请求加密实例
2020/08/11 Javascript
[02:49]DAC2018决赛日TOP5 LGD开启黑暗之门绝杀VP
2018/04/08 DOTA
Python实现的金山快盘的签到程序
2013/01/17 Python
Python入门篇之文件
2014/10/20 Python
Python下使用Psyco模块优化运行速度
2015/04/05 Python
python实现多线程网页下载器
2018/04/15 Python
OpenCV2从摄像头获取帧并写入视频文件的方法
2018/08/03 Python
500行代码使用python写个微信小游戏飞机大战游戏
2019/10/16 Python
python飞机大战游戏实例讲解
2020/12/04 Python
德国体育用品网上商店:SC24.com
2016/08/01 全球购物
2014年基层党组织公开承诺书
2014/03/29 职场文书
副处级干部考察材料
2014/05/17 职场文书
建设办主任四风问题整改思路和措施
2014/09/20 职场文书
村主任群众路线教育实践活动个人对照检查材料思想汇报
2014/10/01 职场文书
2014年节能减排工作总结
2014/12/06 职场文书
恋恋笔记本观后感
2015/06/16 职场文书
小学安全教育主题班会
2015/08/12 职场文书
使用python如何删除同一文件夹下相似的图片
2021/05/07 Python
CSS实现五种常用的2D转换
2021/12/06 HTML / CSS
javascript之Object.assign()的痛点分析
2022/03/03 Javascript
WCG2010 星际争霸决赛 Flash vs Goojila 1 星际经典比赛回顾
2022/04/01 星际争霸