Функция log теперь не формирует строку, а упаковывает параметры и код логирования в функтор и добавляет его в очередь, обрабатываемую отдельным потоком.