Wildfly-JBoss LogManager:如何为JSON日志添加键值对
在Wildfly的JSON日志中添加固定键值对
要给每条JSON日志消息添加"eventSource":"wildfly.log"这样的固定键值对,直接修改你配置里的<json-formatter>节点即可——JBoss LogManager的JSON格式化器原生支持通过<field>元素添加自定义固定字段。
修改后的JSON格式化器配置
把原来的空<json-formatter/>替换成以下内容:
<formatter name="JSON"> <json-formatter> <!-- 添加固定自定义字段 --> <field name="eventSource" value="wildfly.log"/> </json-formatter> </formatter>
完整修改后的日志子系统配置
以下是包含修改点的完整配置(仅调整了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> <field name="eventSource" value="wildfly.log"/> </json-formatter> </formatter> </subsystem>
注意事项
- 修改配置后,需要重启Wildfly才能让新的日志规则生效。
- 若需添加多个自定义字段,只需在
<json-formatter>下新增多个<field>节点即可,每个节点对应一组键值对。
内容的提问来源于stack exchange,提问作者Ferdi
相关产品推荐
相关产品推荐

