对于 Wildfly 日志,我使用默认的 jboss-logmanager 和 json 格式化程序(见下文)。 我现在想要实现的是:
这怎么办?
<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>
您可以使用
meta-data
将新的键/值对添加到日志输出中。在 CLI 中添加时你会做这样的事情:
/subsystem=logging/json-formatter=JSON:add(meta-data={eventSource="wildfly.log"}, pretty-print=true)
对于现有的格式化程序,您可以更新格式化程序,例如:
/subsystem=logging/json-formatter=JSON:write-attribute(name=meta-data, value={eventSource="wildfly.log"})
您可以使用MDC或元数据。我使用元数据。例如。
<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>