• Tomcat关闭日志catalina.out


    翻了下收藏夹,顺手整理到这里来。

    catalina.out文件会越来越大,对系统的稳定造成了一定的影响。conf/logging.properties

    一般在部署Tomcat后,运行久了,catalina.out文件会越来越大,对系统的稳定造成了一定的影响。
    可通过修改conf/logging.properties日志配置文件来屏蔽掉这部分的日志信息。

    1 catalina.org.apache.juli.FileHandler.level = WARNING
    2 catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
    3 catalina.org.apache.juli.FileHandler.prefix = catalina.

    将level级别设置成WARNING就可以大量减少日志的输出,当然也可以设置成OFF,直接禁用掉。

    一般日志的级别有:
    SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)

    来自:

    http://rwl6813021.iteye.com/blog/752416

    Linux下的tomcat产生的日志文件不象windows下的按时间时间和大小来处理,

    尽管也生成了日志文件catalina.2009-0x-0x.log类型的文件,但是其中的catalina.out文件依然增大;它为啥在增大,为啥在增大,原因我就不探究了。

    Tomcat的官方文档,由于是外文,偶还没有看明白di;

    http://tomcat.apache.org/tomcat-6.0-doc/logging.html

    据说是修改某些配置可以实现,希望高人指点,给个官方的解决方案;

    老是增大也不是办法,还是想其他办法搞定它为好:

    方法1—分割流

    使用cronolog工具切分Tomcat的catalina.out日志文件

    cronolog一个对日志切分的小工具,其主页在http://cronolog.org/,我们也可以用它来切分Apache的日志。

    具体的方法,您可以去google之,这个方法占网络搜索结果的主流;

    方法2—脚本流

    事情终究不过是个大文件处理的问题,强大的bash来搞定;

    使用cron每天来备份当前的catalina.out,然后清空他的内容;

    参考脚本如下:

    1 #!/bin/sh
    2 y=`date "+%Y"`
    3 m=`date "+%m"`
    4 d=`date "+%d"`
    5 cd /PATH /tomcat/logs
    6 cp catalina.out catalina.out.$y$m$d
    7 echo > catalina.out
    8 exit

    注意linux系统的cron服务是否启动,是否正常工作,还有脚本的存放路径(原因暂保密)

    方法3—猥琐流

    打开bin目录下的catalina.sh文件,终究不过是个bash文件,

    查找一下,catalina.out总共出现三次;

    01 touch "$CATALINA_BASE"/logs/catalina.out
    02 if "$1" "-security" ] ; then
    03 echo "Using Security Manager"
    04 shift
    05 "$_RUNJAVA" $JAVA_OPTS "$LOGGING_CONFIG" $CATALINA_OPTS
    06 -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" 
    07 -Djava.security.manager
    08 -
    09 ?-Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy
    10 -Dcatalina.base="$CATALINA_BASE" 
    11 -Dcatalina.home="$CATALINA_HOME" 
    12 -Djava.io.tmpdir="$CATALINA_TMPDIR" 
    13 org.apache.catalina.startup.Bootstrap "$@" start
    14 >> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
    15 if [ ! -z "$CATALINA_PID" ]; then
    16 echo $! > $CATALINA_PID
    17 fi
    18 else
    19 "$_RUNJAVA" $JAVA_OPTS "$LOGGING_CONFIG" $CATALINA_OPTS
    20 -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" 
    21 -Dcatalina.base="$CATALINA_BASE" 
    22 -Dcatalina.home="$CATALINA_HOME" 
    23 -Djava.io.tmpdir="$CATALINA_TMPDIR" 
    24 org.apache.catalina.startup.Bootstrap "$@" start
    25 >> "$CATALINA_BASE"/logs/catalina.out 2>&1 &

    个人觉得也就是这里是写catalina.out文件的;让他写到一个其他的空设备如何?

    修改前注意原文件的catalina.sh的备份哟~!!

    修改以上代码中的

    >> “$CATALINA_BASE”/logs/catalina.out 2>&1 &

    >> /dev/null 2>&1 &

    保存,然后启动tomcat,目前这个 catalina.out一直是空的了。

    这个方法是偶自己想到的,个人认为比较勇敢,目前还没有在生产环境测试过。虚拟机测试是通过的。

    方法4—人流

    这个方法其实就是linux系统管理员手工去删除,人工操作,简称“人流”;

    删除之前最好停止tomcat的服务;

  • 相关阅读:
    初学c课程笔记整理7-->>二维数组、字符串、指针
    初学c课程笔记整理6-->>数组
    ipad上自定义view的旋转适配
    苹果mac电脑中brew的安装使用及卸载详细教程
    Apple、Google、Microsoft的用户体验设计原则
    iOS图片拉伸技巧
    子网掩码解析【转载】
    Ios8,Xcode6下 设置Launch Image 启动图片
    ios8 设置单元格分割线无效
    简述UIScrollView的属性和用法
  • 原文地址:https://www.cnblogs.com/kabi/p/5687206.html
Copyright © 2020-2023  润新知