def call_audit(func):
def audited_func(*args, **kwargs):<EOL><INDENT>import traceback<EOL>stack = traceback.extract_stack()<EOL>r = func(*args, **kwargs)<EOL>func_name = func.__name__<EOL>print("<STR_LIT>" % (<EOL>len(stack),<EOL>"<STR_LIT>".join("<STR_LIT>" % x[<NUM_LIT:0>:<NUM_LIT:3>] for x in stack[-<NUM_LIT:5>:-<NUM_LIT:2>]),<EOL>func_name,<EOL>args,<EOL>kwargs,<EOL>r))<EOL>return r<EOL><DEDENT>return audited_func<EOL>
Print a detailed audit of all calls to this function.