diff --git a/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/logstash/EnhancedLogstashFormatter.java b/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/logstash/EnhancedLogstashFormatter.java index 09404b7bd85045903862f937715a5883786ddb68..15ca56036e20e36acdfc466fc6cf8a07c7c7328e 100644 --- a/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/logstash/EnhancedLogstashFormatter.java +++ b/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/logstash/EnhancedLogstashFormatter.java @@ -28,6 +28,7 @@ public class EnhancedLogstashFormatter extends LogstashFormatter { } private void addAdditionalProviders() { + getProviders().addProvider(new NodeIpJsonProvider()); getProviders().addProvider(new EventDateStringValueJsonProvider()); } @@ -63,4 +64,4 @@ public class EnhancedLogstashFormatter extends LogstashFormatter { return excludeProviders; } -} \ No newline at end of file +} diff --git a/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/logstash/EventDateStringValueJsonProvider.java b/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/logstash/EventDateStringValueJsonProvider.java index 240c7b537aaa4a8f062eab38e9d42994c48a67cf..7706a7b44708b755142a690502c4cb6d670dfa1b 100644 --- a/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/logstash/EventDateStringValueJsonProvider.java +++ b/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/logstash/EventDateStringValueJsonProvider.java @@ -27,7 +27,7 @@ public class EventDateStringValueJsonProvider extends AbstractFieldJsonProvider< @Override public void writeTo(JsonGenerator generator, ILoggingEvent event) throws IOException { - JsonWritingUtils.writeStringField(generator, FIELD_EVENT_DATE, getEventDate(event)); + JsonWritingUtils.writeStringField(generator, getFieldName(), getEventDate(event)); } private String getEventDate(ILoggingEvent event) { diff --git a/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/logstash/NodeIpJsonProvider.java b/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/logstash/NodeIpJsonProvider.java new file mode 100644 index 0000000000000000000000000000000000000000..9f441c32adcad40451068ff1aadc50de0351cdff --- /dev/null +++ b/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/logstash/NodeIpJsonProvider.java @@ -0,0 +1,32 @@ +package com.schbrain.framework.autoconfigure.logger.logstash; + +import ch.qos.logback.classic.spi.ILoggingEvent; +import com.fasterxml.jackson.core.JsonGenerator; +import net.logstash.logback.composite.AbstractFieldJsonProvider; +import net.logstash.logback.composite.JsonWritingUtils; + +import java.io.IOException; + +/** + * @author liaozan + * @since 2023/8/31 + */ +public class NodeIpJsonProvider extends AbstractFieldJsonProvider { + + private static final String FIELD_NODE_IP = "nodeIp"; + + /** + * Retrieves the node ip from the k8s environment variable NODE_IP. + */ + private static final String NODE_IP = System.getenv("NODE_IP"); + + public NodeIpJsonProvider() { + setFieldName(FIELD_NODE_IP); + } + + @Override + public void writeTo(JsonGenerator generator, ILoggingEvent iLoggingEvent) throws IOException { + JsonWritingUtils.writeStringField(generator, getFieldName(), NODE_IP); + } + +}