Laura, miembro de nuestro equipo, nos hizo el favor de crear este post ya que domina perfectamente dicho tema.
Solución:
threading.get_ident()
obras, o threading.current_thread().ident
(o threading.currentThread().ident
para Python <2.6).
Usando el módulo de registro, puede agregar automáticamente el identificador de hilo actual en cada entrada de registro. Simplemente use uno de estos mapas LogRecord keys en su formato de registrador string:
%(hilo)d : Id. de subproceso (si está disponible).
%(nombre del subproceso)s: Nombre del hilo (si está disponible).
y configure su controlador predeterminado con él:
logging.basicConfig(format="%(threadName)s:%(message)s")
los thread.get_ident()
La función devuelve un entero largo en Linux. No es realmente una identificación de hilo.
Utilizo este método para obtener realmente la identificación del hilo en Linux:
import ctypes
libc = ctypes.cdll.LoadLibrary('libc.so.6')
# System dependent, see e.g. /usr/include/x86_64-linux-gnu/asm/unistd_64.h
SYS_gettid = 186
def getThreadId():
"""Returns OS thread id - Specific to Linux"""
return libc.syscall(SYS_gettid)