Доступ к нескольким значениям в MDC с помощью siftingappender или gsiftingappender
У меня есть siftingappender, который я использую для ключа в MDC для настройки файловых приложений. Проблема в том, что я не могу получить доступ к нескольким значениям из конфигурации.
Есть ли способ получить доступ к 2 или более ключам, которые существуют в MDC?
1 ответ
У меня была та же проблема, и, глядя на класс, оказалось, что невозможно использовать две клавиши дискриминатора. Решение, которое я использовал, заключалось в том, чтобы установить свойство, содержащее комбинацию этих значений в начале "сеанса":
String value1 = "a variable";
String username = "the username";
MDC.put("myDiscriminatingValue", value1 + username);
а затем вам просто нужно поместить "myDiscriminatingValue" в logback.xml в качестве различающего значения.
Более элегантный способ добиться этого - реализовать собственный класс Discriminator вместо MDCBasedDicriminator.