我可以在jboss-log4j.xml中为同一个日志文件提供多于1个<appender>节吗?</appender>

时间:2011-04-28 13:26:11

标签: jboss log4j logging

我正在使用我的第一个jboss应用程序服务器,并且在日志文件方面存在一些问题。目前软件中存在一个错误,即日志文件中不断出现流错误,每天我都会得到一个708MB的日志文件,这很快就会填满服务器的高清空间。

在jboss-log4j.xml中,我有2个<appender>节,一个每天滚动日志文件,第二个将日志文件限制为10MB并且只保留最后20个日志。目前只有第一节似乎正在发挥作用。基于此,我想我只能有1 <appender>节,需要合并这两个......

我是否在正确的轨道上?如果是这样,你能提供一些技巧,我可以将这两者合并在一起吗?

<!-- 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"/>

   <!-- Rollover at midnight each day -->
   <param name="DatePattern" value="'.'yyyy-MM-dd"/>

   <layout class="org.apache.log4j.PatternLayout">
      <!-- The default pattern: Date Priority [Category] Message\n -->
      <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>

   </layout>
</appender>

<!-- A size based file rolling appender -->
<appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender">
 <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
 <param name="File" value="${jboss.server.log.dir}/server.log"/>
 <param name="Append" value="false"/>
 <param name="MaxFileSize" value="10MB"/>
 <param name="MaxBackupIndex" value="20"/>

 <layout class="org.apache.log4j.PatternLayout">
   <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
 </layout>     
</appender>

2 个答案:

答案 0 :(得分:1)

你可以拥有多个appender - 默认是为日志文件提供文件追加器,为控制台放置另一个。

在您的代码中,您可能会在两种情况下都写入同一个文件 没有多大意义,听起来也不像你给出的描述。

答案 1 :(得分:0)

不可能有两个<appender>个节点写入相同的name='FILE'。 也不可能将这两个<appender>合并为一个节。

相关问题