jboss-log4j.xml中的设置未生效

时间:2012-03-08 09:08:46

标签: log4j jboss5.x

我有一个部署到JBOSS_HOME/server/default/deploy的war文件。

我将以下内容添加到JBOSS_HOME/server/default/conf/jboss-log4j.xml

 <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="INFO"/>

            <param name="DatePattern" value="'.'yyyy-MM-dd"/>

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

我重新启动了服务器,

但是日志不是在Server.log

下写的

日志在路径boot.log下的JBOSS_HOME/server/default/logs/(包括我的战争部署日志)下生成。

(我在linux上使用JDK7运行Jboss。)

2 个答案:

答案 0 :(得分:0)

请参阅根部分,添加<appender-ref ref="FILE"/>

    <!-- ======================= -->
   <!-- Setup the Root category -->
   <!-- ======================= -->

   <root>
      <!-- 
         Set the root logger priority via a system property. Note this is parsed by log4j,
         so the full JBoss system property format is not supported; e.g.
         setting a default via ${jboss.server.log.threshold:WARN} will not work.         
       -->
      <priority value="${jboss.server.log.threshold}"/>
      <appender-ref ref="CONSOLE"/>
      <appender-ref ref="FILE"/>
   </root>

答案 1 :(得分:0)

定义一个appender本身是不够的。您需要将该appender与记录器层次结构中的一个或多个记录器相关联。如果查看文件的其他部分,您将看到定义的使用<appender-ref>元素的记录器。这会将该记录器的输出发送到该appender。

如果您只想将所有日志记录发送到新的appender,则将<appender-ref>添加到<root>元素,该元素定义根记录器,例如< / p>

<root>
  <!-- existing config in <root> -->
  <appender-ref ref="FILE"/>   <!-- reference to my new appender -->
</root>

有关详细信息,请参阅此tutorial at JavaLobby