Log4j 2:如何使用XMLLayout?

时间:2014-11-06 22:39:23

标签: java tomcat7 log4j2

Log4j 2手册指出:

  

Appender使用布局将LogEvent格式化为符合的形式   任何将消耗日志事件的需求。

在我的log4j2.xjm的几个appender中,我有这个:

    <RollingFile name="RollingRateFile" fileName="${sys:webapp.rollinglogspath}/${sys:webapp.name}.rate.log" filePattern="${sys:webapp.rollinglogspath}/${sys:webapp.name}.log-%d{yyyy-MM-dd}-%i.rate.log">
        <PatternLayout>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n</pattern>
        </PatternLayout>
        <Policies>
            <SizeBasedTriggeringPolicy size="10 MB" />
        </Policies>
        <DefaultRolloverStrategy min="1" max="4" />
        <XMLLayout complete="true" charset="UTF-8" compact="false"/>
    </RollingFile>

当Tomcat启动时,我收到此错误:

2014-11-06 12:45:40,631 ERROR appender RollingFile has no parameter that matches element XMLLayout
2014-11-06 12:45:40,696 ERROR appender RollingFile has no parameter that matches element XMLLayout

当我省略XMLLayout元素时,登录标准日志文件会很有效。我似乎找不到任何关于如何使用XMLLayout的例子的例子。谁知道我做错了什么?

1 个答案:

答案 0 :(得分:0)

事实证明PatternLayoutXMLLayout互斥。删除PatternLayout后,XMLLayout可以使用。