zoukankan      html  css  js  c++  java
  • 【教程】Tomcat 的catalina.out 日志按照自定义日期格式进行切割

    本文简单介绍在使用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

  • 相关阅读:
    【转】IntelliJ IDEA2017.3激活
    【转】构建Maven项目自动下载jar包
    【转】Intellij idea 的maven项目如何通过maven自动下载jar包
    【转】在IDEA中创建maven项目
    【转】maven的安装、配置以及下载jar包
    【转】git修改文件后,提交到远程仓库
    基于MbedTLS的AES加密实现,含STM32H7和STM32F4的实现例程
    Cortex-M7,A8,A9,A15与ADI的BlackFin以及SHARC的DSP性能PK
    基于V6的中移动物联测试例子,当前测试还挺稳定
    中移动物联手机端APP软件
  • 原文地址:https://www.cnblogs.com/aflyun/p/8491216.html
Copyright © 2011-2022 走看看