zoukankan      html  css  js  c++  java
  • tomcat 日志拆分

    一、用cronolog分割tomcat的catalina.out文件
    1、编译安装cronolog
    wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
    tar zxvf cronolog-1.6.2.tar.gz
    cd cronolog-1.6.2
    ./configure
    make && make install
    2、查看cronolog安装后所在目录(验证安装是否成功)
    which cronolog
    一般情况下显示为:/usr/local/sbin/cronolog
    3、编辑tomcat目录bin下的catalina.sh文件
    找到下面这行,类似这样的行有2处:
    org.apache.catalina.startup.Bootstrap "$@" start
    >> "$CATALINA_OUT" 2>&1 &
      第一处:tomcat是带“-security”参数的启动,
      第二处:默认tomcat启动方式,也就是else下面的那部分,我们只修改这里。
      另外还要把touch “$CATALINA_OUT"这行注释掉。
    # touch "$CATALINA_OUT"
    if [ "$1" = "-security" ] ; then
    if [ $have_tty -eq 1 ]; then
    echo "Using Security Manager"
    fi
    shift
    "$_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
    >> "$CATALINA_OUT" 2>&1 &

    else
    "$_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 | /usr/local/sbin/cronolog /usr/local/tomcat/logs/catalina.%Y%m%d.out >> /dev/null &
    # >> "$CATALINA_OUT" 2>&1 &

    fi
    4、重启tomcat

    二、使用log4j成功使catalina.out文件实现分割
    在tomcat根目录下建立common/classes/log4j.properties,内容如下
    log4j.rootLogger=INFO, R
    log4j.appender.R=org.apache.log4j.RollingFileAppender
    log4j.appender.R.File=${catalina.home}/logs/tomcat.newlog #设定日志文件名
    log4j.appender.R.MaxFileSize=100KB #设定文件到100kb即分割
    log4j.appender.R.MaxBackupIndex=10 #设定日志文件保留的序号数
    log4j.appender.R.layout=org.apache.log4j.PatternLayout
    log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
    2、在tomcat根目录下的common/lib下加入log4j.jar和commons-logging.jar
    3、重新启动tomcat即可。
    三、编写一个.sh文件,并放到tomcat下的bin目录,在cron中自动执行,shell脚本如下:
    #!/bin/bash

    cd `dirname $0`
    d=`date +%Y%m%d`
    d7=`date -d'7 day ago' +%Y%m%d`

    cd ../logs/

    cp catalina.out catalina.out.${d}
    echo "" > catalina.out
    rm -rf catalina.out.${d7}

    四、在/etc/logrotate.d下新建文件。tomcat
    编辑该文件,写入脚本。 vim /etc/logrotate.d/tomcat
    /opt/tomcat/logs/catalina.out { # catalina.out日志路径
    copytruncate # 复制清空
    rotate 15 # 保留15份日志
    nocompress # 不压缩日志
    missingok # 日志不存在时不报错
    size 100k # 超过100k就复制
    }
    说明:该脚本会随着cron.daily(系统自带定时器)每天执行一次,如果此时catalina.out文件大小超过100k, 就会复制一份catalina.out-yyyyMMdd出来,然后清空catalina.out文件
    已验证,当size比较小时,与按日期拆分效果一致

  • 相关阅读:
    电子辅助的个体化严密控制策略比常规方法更有效地帮助早期RA实现全面控制病情[EULAR2015_THU0122]
    超声和免疫学指标的特征能否反映RA临床缓解的表型?[EULAR2015_THU0121]
    依那西普减量维持过程中RA病人自报病情复发可能预示未来放射学进展[EULAR2015_SAT0147]
    RETRO研究: 持续缓解的RA患者的减量维持方案[EULAR2015_SAT0056]
    OPTIRRA研究: TNF拮抗剂维持期优化减量方案[EULAR2015_SAT0150]
    与时俱进的治疗策略不断提高RA无药缓解机会[EULAR2015_SAT0058]
    雷公藤多甙治疗类风湿关节炎遭质疑
    我的博客今天2岁203天了,我领取了先锋博主徽章
    MyEclipse中最常用的快捷键大全
    MyEclipse无法打开jsp文件(打开是空白的),但是可以打开java文件
  • 原文地址:https://www.cnblogs.com/cowshed/p/11397681.html
Copyright © 2011-2022 走看看