Используя LogEventPatternConverter, я могу добавить одно настраиваемое поле для каждого класса подключаемого модуля, как показано ниже:
@Plugin(name = "TestPatternConverter", category = PatternConverter.CATEGORY)
@ConverterKeys({"flagg",})
public final class TestPatternConverter extends LogEventPatternConverter{
private TestPatternConverter(final String[] options) {
super("flagg","flagg");
}
public static TestPatternConverter newInstance(final String[] options) {
return new TestPatternConverter(options);
}
@Override
public void format(LogEvent event, StringBuilder toAppendTo) {
toAppendTo.append("test!!!!!")
}
}
На данный момент я создаю 4 класса подключаемых модулей для добавления 4 настраиваемых полей в виде фабрики подключаемых модулей, не поддерживаемой конвертерами.
Я пытался с this Но проблема в том, что contextdata имеет значение null, и нет способа установить contextdata, так как он использует ReadOnlyStringMap.
Есть ли способ добавить несколько пользовательских столбцов в logevent с использованием плагинов log4j2?
Спасибо.