If you call the same logging handler from two different python threads, is there a need for locking?

The logging module is thread-safe; it handles the locking for you. See the docs.