如何为我的gelf库添加模式?

时间:2019-02-26 11:11:19

标签: java logging gelf

在我的Logback.xml上,我具有ConsoleAppender的以下模式:

<encoder>
  <pattern>%d{HH:mm:ss.SSS} [%thread] %highlight(%-5level) %cyan(%logger{36}).%M\(%line\) - %replace(%msg){'[A-Z]{6}[0-9A-Z]{5}\d{3}','**************'} %n</pattern>
</encoder>

但这仅在本地有效,而不能通过Gelf / Logsforwarder进行。

在我的java gelf库中,我发现了以下“可能性”:

// personalize the GelfLayout and enable more properties
GelfLayout gelfLayout = new GelfLayout();
gelfLayout.setContext(context);
gelfLayout.setIncludeRootCauseData(true);
gelfLayout.setIncludeLevelName(true);

// add static fields to each gelf message
gelfConfigProperties.getAdditionalFields().entrySet().stream()
    .map(additionalField -> additionalField.getKey() + ":" + additionalField.getValue())
    .forEach(gelfLayout::addStaticField);

PatternLayout patternLayout = new PatternLayout();
patternLayout.setPattern("%replace(%msg){'[A-Z]{6}[0-9A-Z]{5}\\d{3}','**************'}%n");
gelfLayout.setFullPatternLayout(patternLayout);
gelfLayout.setShortPatternLayout(patternLayout);

但是现在short_messagefull_message的Kibana上的输出为空。

我们正在使用de.siegmar:logback-gelf:1.1.0

是否可以替换Gelf日志消息中的文本?

谢谢。

0 个答案:

没有答案