В модуле ведения журнала получите текущий фрейм, почему sys._getframe (3) вместо sys._getframe (1)?
import sys
if hasattr(sys, '_getframe'):
currentframe = lambda: sys._getframe(3)
else: #pragma: no cover
def currentframe():
"""Return the frame object for the caller's stack frame."""
try:
raise Exception
except Exception:
return sys.exc_info()[2].tb_frame.f_back