В моем 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);
Но теперь вывод на Kibana для short_message
и full_message
пуст.
Мы используем de.siegmar:logback-gelf:1.1.0
Есть ли возможность заменить текст в сообщениях регистрации гелфа?
Спасибо.