[log4j] каждый поток в отдельный файл
Не очень изящно, но зато это перпендикулярно твоей текущей структуре логов
Нашёл на класспасе аппендер, который в буфер пишет.
Ты можешь пррграммно конфигурить инстансы логгера, чтобы каждый был со своим аппендером, пишущим в отдельный файл, и логать все ивенты в джобе явно а этот логгер.
У меня была подобная задача, только не с потоками, а с некими сущностями, которые загружались из БД. Поднял документацию по log4j, оказалось, что можно подгрузить property-файл с конфигурацией с указанием подстановочных макросов (при этом дерево настраиваемых логгеров с навешенными аппендерами добавится к существующему). Соответственно, решение может быть простое: подгружаешь конфигурацию. Эту возможность можно применить и для потоков: при старте загружается общая конфигурация, после чего, перед запуском (или в начале работы) каждого потока подгружаешь дополнительную конфигурацию с подставленными макросами имени и/или номера потока.
OFF. logback такое умеет
Библиотека сторонняя, не могу. правильный ответ дал.
Оставить комментарий
kill-still
1) В общем есть класс наследник Tread (некая job-а). Периодически создаётся объект этого класса и запускается. Я хочу, чтобы лог каждого из этих объектов писался в отдельный файл.2) Возможно в будущем я захочу не создавать/уничтожать эти потоки каждый раз, а держать объекты в памяти и периодически запускать. При этом каждый вызов метода run должен идти в отдельный файл.
Не подскажете, как настроить, чтобы выполнялся хотя бы п.1?