Я пытаюсь реализовать совместимый с многоуровневым протоколированием журнал регистрации каждого арендатора в другом файле И может быть настроен для каждого арендатора индивидуально.Реализация многопользовательского режима Spring Logback с настраиваемой конфигурацией для каждого арендатора
Я использую Spring Boot в сборке Maven с SLF4j и Logback.
Чтобы получить отдельный файл для каждого арендатора, я использую MCP для установки идентификатора арендатора для каждого запроса.
MDC.put("tenant", "tenant-" + tenant_id);
Это теперь легко можно выйти арендатора как этот
<encoder>
<pattern>%X{tenant} %d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>
</encoder>
Однако, я не могу поместить их в разные файлы. Более того, у меня нет понятия о том, как определить loglog xml для каждого арендатора.
Я не могу найти никаких хороших примеров, чтобы выйти за рамки основ - есть ли у вас какие-либо предложения?
Спасибо за советы - я только что нашел «SiftingAppender» Как вы думаете, Appender обеспечивает достаточно для моей цели? –
Да, это в основном делает то, что я описываю, вы можете реализовать свой appender, основанный на этом – Ulises
Спасибо! - Последний вопрос: если я хочу иметь еще один уровень журнала для TenantA, чем у TenantB, достаточно ли установить уровень журнала в начале каждого запроса? У меня возникают проблемы с параллельными запросами? –