Configure JBoss EAP with JSON log formatter for Red Hat JBoss Enterprise Application Platform (EAP) 6.4 7.x:
<subsystem xmlns="urn:jboss:domain:logging:3.0">
<formatter name="JSONFMT">
<custom-formatter class="org.jboss.logmanager.formatters.JsonFormatter" module="org.jboss.logmanager.json-formatter"/>
</formatter>
<periodic-rotating-file-handler name="JSON" autoflush="true">
<formatter>
<named-formatter name="JSONFMT"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="xserver.log"/>
<suffix value=".yyyy-MM-dd"/>
<append value="true"/>
</periodic-rotating-file-handler>
<root-logger>
<level name="INFO"/>
<handlers>
<handler name="CONSOLE"/>
<handler name="FILE"/>
<handler name="JSON"/>
</handlers>
</root-logger>
<formatter name="JSONFMT">
<custom-formatter class="org.jboss.logmanager.formatters.JsonFormatter" module="org.jboss.logmanager.json-formatter"/>
</formatter>
</subsystem>
JsonFormatter
implements org.jboss.logmanager.ExtFormatter
and installed as module into modules
dir.
Check https://github.com/jboss-logging/jboss-logmanager/tree/main/ext/src/main/java/org/jboss/logmanager/ext/formatters for inspiration.
Alternative solution is to exclude JBoss logmanager from classpath and use whatever modern tool you want, see my answer: Logback and Jboss 7 - don't work together?