Как добавить несколько настраиваемых полей в сообщении журнала, используя log4j2 LogEventPatternConverter - PullRequest
0 голосов
/ 10 февраля 2020

Используя 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?

Спасибо.

...