I am facing the problem with collecting logs from the following script.
Once I set up the SLEEP_TIME to too \"small\" value, the LoggingThread
threads somehow b
This is probably bug 6721.
The problem is common in any situation where you have locks, threads and forks. If thread 1 had a lock while thread 2 calls fork, in the forked process, there will only be thread 2 and the lock will be held forever. In your case, that is logging.StreamHandler.lock.
A fix can be found here (permalink) for the logging module. Note that you need to take care of any other locks, too.