def __init__(self, log_enabled): log_recorder.clear() Manager.logger().setLevel(logging.DEBUG if log_enabled else logging.NOTSET) assert Manager.logger().isEnabledFor(logging.DEBUG) == log_enabled
def __exit__(self, a, b, c): log_recorder.clear() Manager.logger().setLevel(logging.NOTSET)
entry = record.__dict__ msg = entry.get("msg") args = entry.get("args") if msg and args: # store fully formatted log message entry["formatted_message"] = msg % (args) except AttributeError: pass self.records.append(entry) return False # don't really log anything, recording only # install a log recorder log_recorder = LogRecorder() Manager.logger().addFilter(log_recorder) class LogSentry: def __init__(self, log_enabled): log_recorder.clear() Manager.logger().setLevel(logging.DEBUG if log_enabled else logging.NOTSET) assert Manager.logger().isEnabledFor(logging.DEBUG) == log_enabled def __enter__(self): return self def __exit__(self, a, b, c): log_recorder.clear() Manager.logger().setLevel(logging.NOTSET)