我在log4j2-spring.xml中配置的Spring Boot项目中有一个log4j2 gelf附加程序:
<Gelf name="graylog" host="https://example.com/gelf" version="1.1">
<PatternLayout pattern="%logger{1.} - %msg%n"/>
<!--- additional configuration --->
</Gelf>
gelf附加程序库是使用maven导入的:
<dependency>
<groupId>biz.paluch.logging</groupId>
<artifactId>logstash-gelf</artifactId>
<version>1.14.0</version>
</dependency>
[库提供了许多GelfSenders(biz.paluch.logging.gelf.intern.GelfSender),例如GelfHTTPSender,GelfREDISSender等。如何扩展在log4j2-spring.xml中配置的gelf附加程序,以使用自定义的GelfSender。 >
我在log4j2-spring.xml中配置的Spring Boot项目中有一个log4j2 gelf附加程序:
XML中的<gelf ...>
附加程序标记创建biz.paluch.logging.gelf.log4j.GelfLogAppender
GelfLogAppender类使用GelfSenderFactory创建要使用的GeldSender。 GelfSenderFactory能够通过Java Service Provider接口加载GelfSenderProvider:
ServiceLoader<GelfSenderProvider> gelfSenderProvider
= ServiceLoader.load(GelfSenderProvider.class);