Global context logger, proxy context to threads

It's not about the functions. It's about `self.__protect` because `_thread_start` is not a class method.