jboss.logmanager 和 logstash 的自定义格式化程序

Custom formatter for jboss.logmanager and 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

这样的外部模块

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

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