如何为Filebeat配置JBoss JsonFormatter(WildFly 14)

时间:2019-02-04 11:24:07

标签: java logging jboss wildfly filebeat

我有Filebeat从标准输出中提取日志。我想确保我的日志以JSON格式输出,以便可以对其进行正确解析。

到目前为止,这是我所发现的:

  • org.jboss.logmanager.formatters没有JSON格式化程序
  • 有一个"extension" module提供了一个JsonFormatter类。
  • 我可以通过以下操作在我的logging.properties中使用它:
handler.CONSOLE=org.jboss.logmanager.handlers.ConsoleHandler
handler.CONSOLE.properties=autoFlush,target
handler.CONSOLE.autoFlush=true
handler.CONSOLE.formatter=JSON-FORMATTER
handler.CONSOLE.target=SYSTEM_OUT

formatter.JSON-FORMATTER=org.jboss.logmanager.ext.formatters.JSONFormatter

我需要知道:

  • 此配置是否缺少任何内容?
  • 如何自定义JSON输出(即添加或删除字段)?

1 个答案:

答案 0 :(得分:1)

WildFly 14中有一个json-formatter。我不建议编辑logging.properties。以下CLI命令是配置json-formatter的示例。

/subsystem=logging/json-formatter=json:add(exception-output-type=formatted, pretty-print=false, meta-data={label=value})
/subsystem=logging/console-handler=CONSOLE:write-attribute(name=named-formatter, value=json)

请注意,meta-data属性只是用逗号分隔的键/值对。

  

如何自定义JSON输出(即添加或删除字段)?

您实际上只能添加元数据或更改字段名称。但是您不能删除字段。