如何在属性文件中向 gelf logstash appender 添加静态字段? biz.paluch.logging

How to add a static field to gelf logstash appender in properties file? biz.paluch.logging

我正在使用 GELF-logstash appenderlog4j2 作为日志附加程序,通过 logstash 将日志从我的应用程序发送到 ElasticSearch/Kibana。
在每条日志消息中,我想配置一个静态字段,即我的应用程序部署到的区域,它是从应用程序所在区域不同的环境变量中收集的运行。

我发现 XML 配置支持静态文字,如下所示:<Field name="fieldName1" literal="your literal value" /> https://logging.paluch.biz/examples/log4j-2.x.html 但如果可能的话,我想保留我的 log4j2.properties 基于文件的配置,但找不到在那里添加静态文字的文档。

是的,这是可能的。您可以使用预定义字段 facility,或在 log4j2.properties 文件中定义任意数量的自定义静态字段:

# required configuration for GELF
appender.gelf.type = Gelf
appender.gelf.name = GELF
appender.gelf.host = ${sys:LOG_HOST}
appender.gelf.port = ${sys:LOG_PORT}

# pre-defined field facility
appender.gelf.facility = a_static_value

# custom static field using environment variable
appender.gelf.environment.type = Field
appender.gelf.environment.name = environment_logging_field_name
appender.gelf.environment.literal = ${sys:ENV_VAR_NAME}

# custom static field with static value
appender.gelf.secondfield.type = Field
appender.gelf.secondfield.name = fieldName
appender.gelf.secondfield.literal = your_value_here