Используйте более современную библиотеку журналов, такую как log4j или slf4j , которые поддерживают асинхронные / буферизованные приложения.
В log4j вы можете использовать AsyncAppender (который обеспечивает возможность буферизации) и подключить к нему FileAppender:
AsyncAppender будет собирать отправленные ему события и затем отправлять их всем прикрепленным к нему приложениям.Это.Вы можете прикрепить несколько приложений к AsyncAppender.
AsyncAppender использует отдельный поток для обслуживания событий в своем буфере.
Таким образом, события записываются на диск в контролируемомтаким образом, и ваши потоки, выполняющие реальную работу, не связаны с дисковым вводом-выводом.
Или, как более простой вариант, подумайте, действительно ли вам нужен полный вывод журналов при запуске этой программы.Часто бывает слишком сложно запускать приложение в рабочей среде с регистрацией на уровне DEBUG.