0
Я использую log4j2 для записи журналов в консоль и файлы для нескольких потоков. Вместо того, чтобы смешивать линии из разных потоков, я хотел бы сохранить журналы для рабочих потоков и только очистить их, когда рабочие потоки присоединяются к основному потоку. Как я могу это сделать?log4j2: флеш-журналы после рабочих потоков присоединяются к основному потоку
Например, вместо того, чтобы журналы как:
Thread 1 started.
Thread 2 started.
Thread 1 working...
Thread 2 working...
Thread 1 working...
Thread 2 working...
Thread 1 finished.
Thread 2 finished.
Я хотел бы иметь:
Thread 1 started.
Thread 1 working...
Thread 1 working...
Thread 1 finished.
Thread 2 started.
Thread 2 working...
Thread 2 working...
Thread 2 finished.
В этом случае я бы передать нить конкретным логгер где мне нужно написать журнал. Обеспечивает ли log4j2 способ справиться с этим внутренне? – Fan
Не уверен, что вы имеете в виду. Вышеупомянутые данные передаются обратно в начальный вызывающий поток. Возможно, вам удастся избежать этого, распечатав журнал по завершении реализации 'run', чтобы избежать« столкновения »журнала нескольких потоков, которые вам могут понадобиться для синхронизации вызовов, возможно, заставляя их приобретать блокировку до фактического logging out – copeg
Теперь я использую статический логгер. Но в вашем ответе мне нужно будет создать регистратор для каждого потока и передать их другим классам/методам. Просто интересно, есть ли другой способ. – Fan