今天对某应用进行压力测试发现压了一段时间,磁盘就爆满。经分析觉得应该jboss写的日志有问题,因为server.log的大小达到了7个g,而且每压几十秒就增加了几百M。
经过google发现可以修改日志级别,详细如下
  <!-- ============================== -->
   <!-- Append messages to the console -->
   <!-- ============================== -->
   <!--输出方式:输出到控制台-->
   <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
   <!-- 设置通道名称:console和输出方式:org.apache.log4j.RollingFileAppender
   其中输出方式appender有5种,分别为
   org.apache.log4j.ConsoleAppender (控制台)
   org.apache.log4j.FileAppender (文件)
   org.apache.log4j.DailyRollingFileAppender (每天产生一个日志文件)
   org.apache.log4j.WriterAppender (将日志信息以流格式发送到任意指定的地方)-->
   <param name="Target" value="System.out"/>
   <param name="Threshold" value="INFO"/>
   <!--Threshold是个全局的过滤器,它将把低于所设置的level的信息过滤不显示出来-->
   <!--level:是日记记录的优先级,优先级由高到低分为
   OFF ,FATAL ,ERROR ,WARN ,INFO ,DEBUG ,ALL。
   Log4j建议只使用FATAL ,ERROR ,WARN ,INFO ,DEBUG这四个级别。-->
   <layout class="org.apache.log4j.PatternLayout">
实际修改如下:
文件
 <!-- A time/date based rolling appender -->
   <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
      <param name="File" value="${jboss.server.log.dir}/server.log"/>
      <param name="Append" value="false"/>
      <param name="Threshold" value="ERROR"/>
      <!-- Rollover at midnight each day -->
      <param name="DatePattern" value="'.'yyyy-MM-dd"/>
      <!-- Rollover at the top of each hour
      <param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
      -->
      <layout class="org.apache.log4j.PatternLayout">
         <!-- The default pattern: Date Priority [Category] Message\n -->
         <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
         <!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n
         <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
          -->
      </layout>
   </appender>