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简单配置多个server的方法
Mar 31 Servers
Nginx域名转发使用场景代码实例
Mar 31 Servers
Nginx配置Https安全认证的实现
May 26 Servers
如何通过cmd 连接阿里云服务器
Apr 18 Servers
nginx配置之并发频次限制
Apr 18 Servers
Tomcat配置访问日志和线程数
May 06 Servers
关于windows server 2012 DC 环境 重启后蓝屏代码:0xc00002e2的问题
May 25 Servers
解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End With %End. Pane Is Dead”
Jun 01 Servers
linux目录管理方法介绍
Jun 01 Servers
Nginx代理Redis哨兵主从配置的实现
Jul 15 Servers
nginx访问报403错误的几种情况详解
Jul 23 Servers
码云(gitee)通过git自动同步到阿里云服务器
Dec 24 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写的serv-u的web申请账号的程序
2006/10/09 PHP
php遍历目录viewDir函数
2009/12/15 PHP
php数组函数序列之array_flip() 将数组键名与值对调
2011/11/07 PHP
ThinkPHP中Widget扩展的两种写法及调用方法详解
2017/05/04 PHP
极酷的javascirpt,让你随意编辑任何网页
2007/02/25 Javascript
Javascript 静态页面实现随机显示广告的办法
2010/11/17 Javascript
jQuery实现的产品自动360度旋转展示特效源码分享
2015/08/21 Javascript
cocos2dx骨骼动画Armature源码剖析(三)
2015/09/08 Javascript
jquery中cookie用法实例详解(获取,存储,删除等)
2016/01/04 Javascript
JavaScript修改作用域外变量的方法
2016/03/25 Javascript
Vue.js每天必学之过滤器与自定义过滤器
2016/09/07 Javascript
node.js与C语言 实现遍历文件夹下最大的文件,并输出路径,大小
2017/01/20 Javascript
Vue如何实现组件的源码解析
2017/06/08 Javascript
vue 实现剪裁图片并上传服务器功能
2018/03/01 Javascript
vue Cli 环境删除与重装教程 - 版本文档
2020/09/11 Javascript
[01:20]辉夜杯背景故事宣传片《辉夜传说》
2015/12/25 DOTA
python3.3使用tkinter开发猜数字游戏示例
2014/03/14 Python
python操作gmail实例
2015/01/14 Python
python实现统计代码行数的方法
2015/05/22 Python
python实现图片处理和特征提取详解
2017/11/13 Python
python numpy和list查询其中某个数的个数及定位方法
2018/06/27 Python
安装好Pycharm后如何配置Python解释器简易教程
2019/06/28 Python
Python 多线程搜索txt文件的内容,并写入搜到的内容(Lock)方法
2019/08/23 Python
python 图像的离散傅立叶变换实例
2020/01/02 Python
如何使用Python抓取网页tag操作
2020/02/14 Python
Python BeautifulReport可视化报告代码实例
2020/04/13 Python
Python稀疏矩阵及参数保存代码实现
2020/04/18 Python
CSS3 毛玻璃效果
2019/08/14 HTML / CSS
个人简历自我评价范文
2014/02/04 职场文书
《在家里》教后反思
2014/03/01 职场文书
法定授权委托证明书
2014/09/27 职场文书
市场营销计划书
2015/01/17 职场文书
解决mysql模糊查询索引失效问题的几种方法
2021/06/18 MySQL
js基础语法与maven项目配置教程案例
2021/07/15 Javascript
ConditionalOnProperty配置swagger不生效问题及解决
2022/06/14 Java/Android
Windows Server 修改远程桌面端口的实现
2022/06/25 Servers