Message message = new SimpleMessage("some info");
PatternLayout layout = PatternLayout.createDefaultLayout();
Log4jLogEvent event = Log4jLogEvent.newBuilder()
.setLevel(Level.INFO)
.setMessage(message)
.build();
String formattedMessage = layout.toSerializable(event);
Процесс формирования точной строки, которую должен распечатать регистратор, довольно утомителен.Вам необходимо программно описать настройки, которые вы обычно пишете в файле конфигурации.Затем вы должны создать событие, которое даст контекст вашим настройкам.
Для простоты я выбрал макет по умолчанию и создал событие с простым сообщением INFO
.Но я уверен, что должен быть способ загрузить конфигурацию из внешнего источника.Попробуйте: PatternLayout.createPatternParser(Configuration)
.