лог и должен быть таким каков он сейчас, в лог обязательно должно выводиться все по максимуму и той последовательности, в которой
выполнялось действие, лог это самый ценный с точки зрения происходящего во время выполнения заданной логики... Например как вы будете отслеживать корректность работы многопотока? В большинстве случаев если вы делаете что-то и вас на выходе что-то не устраивает, то как выглядит код (если говорить о бас, то количество блоков их компоновки, разбитие на функции и тд, в том числе и лог (то что в нем) - то значит это вы же сделали не так как надо, используете что-то не по назначению, чего-то не знаете или не умеете...
Как говорилось ранее, можно использовать результаты. Еще, если мне не изменяет память, можно запускать это дело в асинхронном варианте, функцию завершать ретурном, а после номеру потока гасить и его, но это как по мне извращенность, то о чем я писал выше. Используйте результаты... )))