小弟最近做了一个小项目,用到时j2ee,使用tomcat作为服务器,过了几天发现tomcat的日志大小突突的网上涨,几天就弄到了几十兆,用的是linux操作系统,请问这个问题该怎么解决,高分求解!谢谢各位帅哥美女捧场!

解决方案 »

  1.   

    就是tomcat的日志增长过快,不知道有什么办法解决没?
      

  2.   

    将tomcat的catalina.out 按天分隔:
    在tomcat的bin目录里找到catalina.sh,编辑该文件,将里面的两段如下代码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.out.%Y-%m-%d>> /dev/null &
      

  3.   

    或者如果你持久化层用的是hibernate  那么你可以在链接数据库时候配置一下都需要输出什么信息,这样就避免没用的信息都打印出来: 方法如下:<property name="hibernateProperties">
    <props>
    <prop key="hibernate.dialect">
    org.hibernate.dialect.DerbyDialect
    </prop>
    <prop key="hibernate.show_sql">true</prop>
    <prop key="hibernate.format_sql">true</prop>
    <prop key="hibernate.hbm2ddl.auto">update</prop>
    </props>
    </property>
    把true改成false
      

  4.   

    将tomcat的catalina.out 按天分隔:
    在tomcat的bin目录里找到catalina.sh,编辑该文件,将里面的两段如下代码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.out.%Y-%m-%d>> /dev/null &这样按天分割这不是只是把日志按天分割开来,但是总量不是还没有变吗?
      

  5.   


    这个问题很容易解决。。设置一下日志级别。。只打印出出错的日志。。如error。其他日志就不要打出来了。。反正也没多少用。。系统遇到问题也是分析error出错的部分。。像一般正式的系统上线都会把debug的日志关掉。。只开发生错误的。。就很少了。。除非不停的出错。。
      

  6.   

    要总量少
    1.把System.out.println();类注掉
    2.把log4j的控制台CONSOLE打印配置去掉
      

  7.   

    谢谢各位捧场,能不能详细点儿?谢了!小弟用的是spring+struts2+jdbc
      

  8.   

    我的system.out.println();已经去掉了...  
    e.printstack.. 也去掉了...
      

  9.   


    把你的日志配置贴出来。。然后hibernate的配置<prop key="hibernate.show_sql">false</prop>