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



我使用GELF logstash appender和log4j2作为日志附加程序,通过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

最新更新