Нужно ли создавать отдельный поток для логирования. Типа кидаем логи в список, а поток выбирает из списка и пишет в файл.
Не обязательно, но, в принципе, для улучшения производительности, можно держать буфер/очередь и сбрасывать периодически.