Вы можете использовать logger.exception("msg")
для регистрации исключений с трассировкой:
try:
#your code
except Exception as e:
logger.exception('Failed: ' + str(e))
Класс консоли выполняет синхронизацию потоков за вас.
Из документации Консоль :
Операции ввода-вывода с использованием этих потоков: синхронизировано, что означает несколько потоки могут читать или писать в потоки.
Несколько потоков записывают в один и тот же вывод при использовании Console.WriteLine
, обычно ваш экран по умолчанию.