В моей программе у меня есть 2 отдельных потока событий регистрации (для их простоты называет их потоки, в действительности их 2 приложения). Stream1 содержит ведение журнала клиента, а Stream2 содержит ведение журнала контроля. Теперь это может показаться легким, за исключением того, что определенные классы могут быть как в протоколировании клиентов, так и при регистрации сервера, в зависимости от ситуации. Еще более усложняет тот факт, что команда, которую хочет клиент, имеет место в двух отдельных потоках (один из них случайным образом выбирается из пула потоков), поэтому любое отслеживание с помощью MDC или NDC невозможно.Наследовать приложения из вызывающего экземпляра в log4j или logback
Что действительно упростило бы это, если бы регистратор мог наследовать добавление от вызывающего экземпляра. Таким образом, я могу настроить 2 приложения для 2 регистраторов и сделать это. Однако я понятия не имею, как сделать это чисто или легко. Может ли кто-нибудь предложить какие-либо советы о том, как это сделать?
Примечание: Если что-то необходимо передать, у меня есть компонент событий, который передается ко всему в цепочке, который может быть использован в случае необходимости.
Кажется, что я создавал бы пул для каждого запроса клиента, который разрушает точку объединения. В противном случае мне пришлось бы создать очень сложную систему ведения журнала с каждым потоком, имеющим установку MDC. Технически возможно, но абсолютно смешно. И мои надежды на использование трассировки стека были сбиты сегодня, когда я обнаружил, что трассировка не возвращается к вызывающему классу, что не удивительно. Подумайте о времени для этого пользовательского пула потоков, о котором я думал писать. – TheLQ
Возвращение Я собираюсь отдать должное там, где это необходимо. Я нашел класс ThreadGroupLocal в Интернете и использовал единственное приложение, которое проверило локальную переменную. Он отлично работает, и я просто хочу сказать, спасибо! – TheLQ