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
的例子的例子。谁知道我做错了什么?
答案 0 :(得分:0)
事实证明PatternLayout
与XMLLayout
互斥。删除PatternLayout
后,XMLLayout
可以使用。