【教程】Tomcat 的catalina.out 日志按照自定义日期格式进行切割

本文简单介绍在使用cronolog对tomcat的日志进行自定义日期格式的切割,方便日志的整理和遇到问题日志的排查!安装cronolog安装cronolog的方法网上有很多,这里也简单的介绍一下。1.下载安装包 cronolog-1.6.2.tar.gz2.安装cronolog tar -zxvf cronolog-1.6.2.tar.gz …

大家好,又见面了,我是全栈君。

本文简单介绍在使用cronolog对tomcat的日志进行自定义日期格式的切割,方便日志的整理和遇到问题日志的排查!

安装cronolog

安装cronolog的方法网上有很多,这里也简单的介绍一下。

1.下载安装包

cronolog-1.6.2.tar.gz

2.安装cronolog

tar -zxvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configre # –prefix=/opt/cronolog ,可以指定安装目录,默认在 /usr/local/sbin/cronolog
make
make install

3.验证cronolog

which cronolog

如果在安装时没有指定安装目录,则显示/usr/local/sbin/cronolog;表示成功;如果指定安装目录,则在安装目录下查看是否有sbin等目录生成,如果有目录生成,则表示安装成功;

4.cronolog 的语法介绍

cronolog使用方式

CRONOLOG一般是采取管道的方式来工作的,采用如下的形式:

loggenerator | cronolog log_file_pattern

其中,loggenerator为产生log的程序,而log_file_pattern是日志文件的路径,可以在其中加入CRONOLOG所支持的时间 相关的pattern字符,如/www/log/%y/%m/%d/access.log。其patter为%字符后跟一特殊字符;

CRONOLOG支持的特殊字符说明

转义符:

%    %字符
n    换行
t    水平制表符

时间域:

H    小时(00..23)
I    小时(01..12)
p    该locale下的AM或PM标识
M    分钟(00..59)
S    秒 (00..61, which allows for leap seconds) 
X    该locale下时间表示符(e.g.: _"15:12:47 "_) 
Z    时区。若时区不能确定,则无意义

日期域:

a    该locale下的工作日简名(e.g.: Sun..Sat)
A    该locale下的工作日全名(e.g.: Sunday ..  Satur-ay)
b    该locale下的月份简称(e.g.: Jan .. Dec)
B    该locale下的月份全称(e.g.:  January .. December)
c    该locale下的日期和时间(e.g.: "Sun Dec 15 14:12:47 GMT 1996")
d    当月中的天数 (01 .. 31)
j    当年中的天数 (001 .. 366)
m    月数 (01 .. 12)
U    当年中的星期数,以周日作为一周开始,其中第一周为首个含星期天的星期(00..53)
W    当年中的星期数,以星期一作为一周的开始,其中第一周为首个含星期天的星期(00..53)
w    工作日数(0 .. 6, 0表示星期天)
x    该locale下的日期表示(e.g. "13/04/97")
y    两位数的年份(00 .. 99)
Y    四位数的年份(1970 .. 2038)

配置tomcat的Catalina.sh

1)注释掉(#)

touch "$CATALINA_OUT"
修改为 
#touch "$CATALINA_OUT"2)修改tomcat bin目录下的catalina.sh文件中的两处
 org.apache.catalina.startup.Bootstrap "$@" start \
      >> "$CATALINA_OUT" 2>&1 "&"
修改为
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 | /opt/tools/cronolog/sbin/cronolog "$CATALINA_BASE"/logs/catalina.out.%Y-%m-%d.log >> /dev/null &

完成之后重起Tomcat就可以看到logs文件中存在对应格式的日志文件了!(catalina.out.2018-01-21.log)

我安装 cronolog的目录为 :

/opt/tools/cronolog/sbin/cronolog

最后的配置的代码:

#touch "$CATALINA_OUT"
  if [ "$1" = "-security" ] ; then
    if [ $have_tty -eq 1 ]; then
      echo "Using Security Manager"
    fi
    shift
    eval "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
      -Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -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 | /opt/tools/cronolog/sbin/cronolog "$CATALINA_BASE"/logs/catalina.out.%Y-%m-%d.log >> /dev/null &

  else
    eval "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
      -Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \
      -Dcatalina.base="\"$CATALINA_BASE\"" \
      -Dcatalina.home="\"$CATALINA_HOME\"" \
      -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
      org.apache.catalina.startup.Bootstrap "$@" start 2>&1 | /opt/tools/cronolog/sbin/cronolog "$CATALINA_BASE"/logs/catalina.out.%Y-%m-%d.log >> /dev/null &

  fi

最后配置图片,看的更清楚一点!
这里写图片描述

这里写图片描述

参考博文

cronolog分割Tomcat catalina.out日志



如果您觉得这篇博文对你有帮助,请点个赞,谢谢!


如果帅气(美丽)、睿智(聪颖),和我一样简单善良的你看到本篇博文中存在问题,请指出,我虚心接受你让我成长的批评,谢谢阅读!
祝你今天开心愉快!


欢迎访问我的csdn博客,我们一同成长!

不管做什么,只要坚持下去就会看到不一样!在路上,不卑不亢!

博客首页http://blog.csdn.net/u010648555

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/121117.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 计算机编程入门教程

    计算机编程入门教程用什么语言可以写木马程序啊!!!首先确定你需要什么功能,如果是控制Http服务器的话,就是ASP木马,用脚本语言(VBS、JS)来写,Window自带的记事本就可以胜任如果是控制Windows的话,就属于一般的Win32木马,几乎什么程序都可以写,不管是MASM32、VC++、VB、Delphi、BCB都可以,个人推荐MASM32,毕竟汇编的东西短小精悍,而且设计直观方便,其他的语

    2022年6月16日
    36
  • 目标检测—利用labelimg制作自己的深度学习目标检测数据集

    目标检测—利用labelimg制作自己的深度学习目标检测数据集看了网上的xml转txt的博客很多上来就给代码,关于怎么用都不说,有的也用不了,所以这里自己写了一份代码

    2022年6月15日
    44
  • H5-BLOB

    H5-BLOB

    2021年6月5日
    180
  • 我的校园服务小程序_有创意校园的微信小程序

    我的校园服务小程序_有创意校园的微信小程序微信小程序——校园服务小程序(四)校园论坛加预约理发服务上一篇介绍了如何用户如何将帖子的内容发送到数据库中。这次我们来介绍一下如何将库中数据渲染出来,通过get得到对应表的数据,在wxml上通过for循环渲染数据表中的值。这里以我们的主页面为例,首先思考一下,一个展示帖子的主页面要有什么功能,1.帖子在添加时会将新的帖子放在最后,再渲染时也会被渲染在后面,这样是不可以的,每一次进入界面都是第一个用户上传的帖子。这里我们需要对帖子进行一次排序,这里我使用了orderBy(‘timeone’,‘d

    2022年9月20日
    0
  • IT界名人_it行业精英人物

    IT界名人_it行业精英人物互联网  张朝阳搜狐公司CEO  丁磊网易创始人/首席架构设计师  茅道临新浪CEO  陈天桥盛大CEO  马化腾腾讯CEO  王峻涛珠峰伟业(6688)总裁  鲍岳桥联众电脑总裁  宫玉国IT168网站CEO  黄明生263网络集团总裁兼COO  邵亦波易趣网CEO  王树彤原卓越网CEO  李彦宏百度

    2022年8月30日
    3
  • Docker Compose详解

    Docker Compose详解使用 DockerCompos 预计阅读时间 11 分钟 DockerCompos 是一种用于帮助定义和共享多容器应用程序的工具 使用 Compose 我们可以创建一个 YAML 文件来定义服务 并且使用一个命令 可以启动所有内容或将其全部关闭 使用 Compose 的最大优势是您可以在一个文件中定义您的应用程序堆栈 将其保存在项目 repo 的根目录中 它现在是版本控制的 并且可以轻松地让其他人为您的项目做出贡献 有人只需要克隆您的存储库并启动撰写应用程序 事实上 你现在可能会在 GitHub Gi

    2025年6月17日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号