skip to Main Content

for the wildfly logs I am using the default jboss-logmanager with a json-formatter (see below).
What I would like to achieve now is:

  • adding key value pairs for each json-logmessage
  • e.g. "eventSource":"wildfly.log"

How can this be done?

my current settings for json logs

<subsystem xmlns="urn:jboss:domain:logging:8.0">
    <console-handler name="CONSOLE">
        <level name="INFO"/>
        <formatter>
            <named-formatter name="JSON"/>
        </formatter>
    </console-handler>
    <periodic-rotating-file-handler name="FILE" autoflush="true">
        <formatter>
            <named-formatter name="PATTERN"/>
        </formatter>
        <file relative-to="jboss.server.log.dir" path="server.log"/>
        <suffix value=".yyyy-MM-dd"/>
        <append value="true"/>
    </periodic-rotating-file-handler>
    <logger category="com.arjuna">
        <level name="WARN"/>
    </logger>
    <logger category="io.jaegertracing.Configuration">
        <level name="WARN"/>
    </logger>
    <logger category="org.jboss.as.config">
        <level name="DEBUG"/>
    </logger>
    <logger category="sun.rmi">
        <level name="WARN"/>
    </logger>
    <root-logger>
        <level name="INFO"/>
        <handlers>
            <handler name="CONSOLE"/>
            <handler name="FILE"/>
        </handlers>
    </root-logger>
    <formatter name="PATTERN">
        <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
    </formatter>
    <formatter name="COLOR-PATTERN">
        <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
    </formatter>
    <formatter name="JSON">
        <json-formatter/>
    </formatter>
</subsystem>

2

Answers


  1. You can use the meta-data to add new key/value pairs to your log output. In CLI when adding you’d do something like this:

    /subsystem=logging/json-formatter=JSON:add(meta-data={eventSource="wildfly.log"}, pretty-print=true)
    

    For your existing formatter, you can update the formatter like:

    /subsystem=logging/json-formatter=JSON:write-attribute(name=meta-data, value={eventSource="wildfly.log"})
    
    Login or Signup to reply.
  2. You can use MDC or meta-data. I use meta-data. For example.

    <subsystem xmlns="urn:jboss:domain:logging:8.0">
        ... ...
    
        <formatter name="JSON">
            <json-formatter>
                <meta-data>
                    <property name="eventSource" value="wildfly.log"/>
                </meta-data>
            </json-formatter>
        </formatter>
    </subsystem>
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search