[笔记]Tomcat 日志分割

参考: https://www.cnblogs.com/kevinchou/p/5704451.html

实测版本: tomcat6  JDK6

资源:

tomcat-juli-adapters.jar  链接:https://pan.baidu.com/s/1O3cp2H7XBzXZAndXM93PRw 密码:rocx

cronolog-1.6.2.tar.gz       链接:https://pan.baidu.com/s/1jzk1SOoHVogqSeWZV7rFlA 密码:dykb


1. 下载安装软件------ cronolog-1.6.2.tar.gz
    tar xvf cronolog-1.6.2.tar.gz
    cd cronolog-1.6.2
    ./configure
    make
    make install
    which cronolog  #查看cronolog安装后所在目录(验证安装是否成功)正常情况下显示:/usr/local/sbin/cronolog

2. 修改 ${TOMCAT_HOME}/bin/ 下的 catalina.sh 配置信息
    Tip:
    catalina.%Y-%m-%d.out        每天一个文件
    catalina.%Y-%m-%d-%H.out     每小时一个文件
    catalina.%Y-%m-%d-%H-%M.out  每分钟一个文件

    2.1. Tomcat7以前的版本
        (1) 设置
            CATALINA_HOME=/opt/2_tomcat # [可选项  若此处不配置,需在/etc/profile 里面设置]
            CATALINA_BASE=/opt/2_tomcat # [可选项  若此处不配置,需在/etc/profile 里面设置]
            # [可选项  生成gc日志]
            JAVA_OPTS="-Xms1024m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m  -Dcom.sun.management.jmxremote.authenticate=false  -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Dsun.rmi.dgc.client.gcInterval=600000 -XX:+UseConcMarkSweepGC -XX:MaxTenuringThreshold=15 -XX:+CMSClassUnloadingEnabled -XX:CMSInitiatingOccupancyFraction=80 -verbose:gc -Xloggc:${TOMCAT_HOME}/logs/gc.log" 
        
        (2) 注释掉: touch "$CATALINA_BASE"/logs/catalina.out
        
        (3-1) 将
            org.apache.catalina.startup.Bootstrap "$@" start \
            >> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
            替换为:
            org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
            | /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &
        (3-2) 若追加不替换,以下信息
            org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
            | /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &
            需要将以下信息注释掉,并在以下信息之前追加,否则会报错
            org.apache.catalina.startup.Bootstrap "$@" start \
            >> "$CATALINA_BASE"/logs/catalina.out 2>&1 &


    2.2. Tomcat7及以后的版本
        (1) 设置
            CATALINA_HOME=/opt/2_tomcat # [可选项  若此处不配置,需在/etc/profile 里面设置]
            CATALINA_BASE=/opt/2_tomcat # [可选项  若此处不配置,需在/etc/profile 里面设置]
            # [可选项  生成gc日志]
            JAVA_OPTS="-Xms1024m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m  -Dcom.sun.management.jmxremote.authenticate=false  -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Dsun.rmi.dgc.client.gcInterval=600000 -XX:+UseConcMarkSweepGC -XX:MaxTenuringThreshold=15 -XX:+CMSClassUnloadingEnabled -XX:CMSInitiatingOccupancyFraction=80 -verbose:gc -Xloggc:${TOMCAT_HOME}/logs/gc.log" 
        
        (2) 将 CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out 改为 CATALINA_OUT="$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out
        (3) 注释掉: touch "$CATALINA_OUT"
        
        (4-1) 将
            org.apache.catalina.startup.Bootstrap "$@" start \
            >> "$CATALINA_OUT" 2>&1 "&"
            替换为:
            org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
            | /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &
        (4-2) 若追加不替换,以下信息
            org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
            | /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &
            需要将以下信息注释掉,并在以下信息之前追加,否则会报错
            org.apache.catalina.startup.Bootstrap "$@" start \
            | /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &


3. 修改 ${TOMCAT_HOME}/conf/ 下的配置文件
    3.1. 修改 catalina.sh [可选项]
        修改tomcat路径 <Context docBase="/opt/1_tomcat/webapps/mydemo" path="/mydemo" reloadable="true"/>
    
    3.2. 修改 context.xml
        增加swallowOutput="true" 的属性配置,只有这样才能完全的把tomcat的stdout给接管过来。
        将<Context> 替换为<Context swallowOutput="true" >
    
    3.3-1. 压缩文件------ logging.properties--- logging.properties_back.rar  [可选项]
    3.3-2. 移除文件------ logging.properties


4. jar包上传与替换
                     tomcat-juli-adapters.jar 上传到 ${TOMCAT_HOME}/lib/下
    ${TOMCAT_HOME}/bin/下的 tomcat-juli.jar   复制一份到 ${TOMCAT_HOME}/lib/下  [可选]
    项目使用的               log4j-1.2.17.jar  复制一份到 ${TOMCAT_HOME}/lib/下  [可选]


5. 修改log4j 的相关配置文件
    linux下的   conf.prop  log4j.conf 日志路径
    windows下的 conf.prop  log4j.conf 日志路径


6. 完成之后重起Tomcat就可以看到logs文件中存在catalina.2018-11-21.out 样式的日志。


 

猜你喜欢

转载自blog.csdn.net/SI734/article/details/84328342