diff --git a/scripts/pyivastest/IvasBaseClass.py b/scripts/pyivastest/IvasBaseClass.py index c7c734c5c9733dc64da7b89bc891175d9d384462..75eddb2a8a620fdd28b014d936706056335f450d 100644 --- a/scripts/pyivastest/IvasBaseClass.py +++ b/scripts/pyivastest/IvasBaseClass.py @@ -134,15 +134,25 @@ class IvasLogger(logging.Logger): def getIvasLogger(name=None): + try: + # Python 3.13+ + acquireLock, releaseLock = logging._prepareFork, logging._afterFork + except AttributeError: + # Python <= 3.12 + acquireLock, releaseLock = logging._acquireLock, logging._releaseLock + logging_class = logging.getLoggerClass() - logging._acquireLock() + + acquireLock() + try: logging.setLoggerClass(IvasLogger) logger = logging.getLogger(name) logging.setLoggerClass(logging_class) return logger + finally: - logging._releaseLock() + releaseLock() class IvasBaseClass(object):