【问题标题】:How to configure JBoss JsonFormatter for Filebeat (WildFly 14)如何为 Filebeat 配置 JBoss JsonFormatter (WildFly 14)
【发布时间】:2019-06-28 03:08:51
【问题描述】:

我有 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 输出(即添加或删除字段)?

【问题讨论】:

    标签: java logging jboss wildfly filebeat


    【解决方案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 输出(即添加或删除字段)?

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

    【讨论】:

    • 我如何添加自定义字段,例如“httpRequest”,'Service',元数据字段?我添加了 mata-data="Service:Demo" 然后它给了我错误作为元数据字段是不允许的。我正在对standalone.xml 文件进行更改 - --。你能指导我如何添加自定义文件以及元数据属性吗?
    • 最好使用 CLI 或 Web 控制台进行配置更改。不建议编辑 XML,尤其是对于日志记录,因为在启动时也会使用 logging.propeties
    • 感谢 James R.,但是如果我想恢复这个,那么我该如何恢复更改?
    • sudo bash jboss-cli.sh -c "/subsystem=logging/json-formatter=json:add(exception-output-type=formatted, pretty-print=true, meta-data={Service=demo})" 应该可以工作。确保将 CLI 连接到正在运行的服务器并引用命令(如果您是从命令行执行所有操作)。
    • 如果您不想使用 CLI,也可以使用 Web 控制台。最好不要直接编辑 XML。可以做到,但并不理想。你可以看看docs.wildfly.org/14/Admin_Guide.html#CLI_Recipes。但是您的命令类似于/subsystem=logging/logger=com.demo:add(level=INFO)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-30
    • 2022-11-09
    • 1970-01-01
    相关资源
    最近更新 更多