Commit 2d444035 authored by liaozan's avatar liaozan 🏀

Enable write logstash logger with nodeIp field

parent 607eb517
...@@ -28,6 +28,7 @@ public class EnhancedLogstashFormatter extends LogstashFormatter { ...@@ -28,6 +28,7 @@ public class EnhancedLogstashFormatter extends LogstashFormatter {
} }
private void addAdditionalProviders() { private void addAdditionalProviders() {
getProviders().addProvider(new NodeIpJsonProvider());
getProviders().addProvider(new EventDateStringValueJsonProvider()); getProviders().addProvider(new EventDateStringValueJsonProvider());
} }
...@@ -63,4 +64,4 @@ public class EnhancedLogstashFormatter extends LogstashFormatter { ...@@ -63,4 +64,4 @@ public class EnhancedLogstashFormatter extends LogstashFormatter {
return excludeProviders; return excludeProviders;
} }
} }
\ No newline at end of file
...@@ -27,7 +27,7 @@ public class EventDateStringValueJsonProvider extends AbstractFieldJsonProvider< ...@@ -27,7 +27,7 @@ public class EventDateStringValueJsonProvider extends AbstractFieldJsonProvider<
@Override @Override
public void writeTo(JsonGenerator generator, ILoggingEvent event) throws IOException { 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) { private String getEventDate(ILoggingEvent event) {
......
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<ILoggingEvent> {
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);
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment