首页 > 解决方案 > jboss.logmanager 和 logstash 的自定义格式化程序

问题描述

我是 wildfly 日志记录的初学者,我正在尝试在 Jboss 生成的日志中添加更多信息,例如主机名(而不是 IP 地址)

我正在将 Wildfly 10 与 jboss-logmanager-ext 一起使用,后者将日志发送到 logstash 6.7.1,每个都在 docker 容器中

jboss-logmanager-ext-1.0.0.Alpha5.jar 使用 CLI 添加到 Wildfly 中,这里是 logstash 格式化程序行:

# Add the logstash formatter
/subsystem=logging/custom-formatter=logstash:add(class=org.jboss.logmanager.ext.formatters.LogstashFormatter,module=org.jboss.logmanager.ext)

实际上我的日志是这样的:

{
          "host" => "172.17.0.3",
          "port" => 46176,
       "message" => "...",
      "@version" => "1",
    "@timestamp" => 2019-04-09T10:07:57.354Z
}

我想添加一个字段主机名,也许稍后再添加其他内容,是否可以不添加新模块来执行自定义模式?与 XML 文件或其他?我只找到像 Logstash/Gelf 这样的外部模块

标签: logstashwildfly-10jboss-logging

解决方案


您可以尝试添加jboss.qualified.host.namejboss.home.name系统属性。

/subsystem=logging/custom-handler=logstash:write-attribute(value=meta-data, value={"qualifiedHost=${jboss.qualified.host.name}"})

推荐阅读