I'm trying to set layout in log4j2 to XMLLayout.
I included in POM jackson-annotations, jackson-module-jaxb-annotations, jersey-media-json-jackson. Also when I log with PatternLayout to console or to file everything works. When I want to use XMLLayout I get exception as below. Additionally it is almost the same exception which is in this thread: Log4j2 SyslogAppender not working, but the solution is only for the Appender, and I don't think that it works, because there is no mdcId attribute.
XML
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<XMLLayout />
<!--PatternLayout pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n"/-->
</Console>
<!--Flume name="EventLogger" compress="true" type="Embedded">
<Agent host="192.168.1.50" port="41414"/>
<RFC5424Layout enterpriseNumber="18060" includeMDC="true" appName="MyApp"/>
</Flume-->
<File name="MyFile" fileName="logs/app.log">
<!--XMLLayout /-->
</File>
</Appenders>
<Loggers>
<Logger name="EventLogger" level="warn">
<AppenderRef ref="console"/>
</Logger>
<Root level="warn" additivity="false">
<AppenderRef ref="MyFile"/>
</Root>
</Loggers>
</Configuration>
Exception
2014-11-26 09:22:45,975 ERROR Unable to invoke factory method in class class org.apache.logging.log4j.core.layout.XmlLayout for element XMLLayout. java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:135)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:766)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:706)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:698)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:698)
at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:358)