Spaces:
Runtime error
Runtime error
import datetime | |
def log_message(message): | |
""" | |
Logs a message with a timestamp. | |
""" | |
timestamp = datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") | |
print(f"{timestamp} {message}") | |
def log_usage(fn): | |
""" | |
Decorator to log function usage and errors. | |
""" | |
def wrapped(*args, **kwargs): | |
log_message(f"Calling {fn.__name__}...") | |
try: | |
result = fn(*args, **kwargs) | |
log_message(f"{fn.__name__} executed successfully.") | |
return result | |
except Exception as e: | |
log_message(f"Error in {fn.__name__}: {e}") | |
raise | |
return wrapped | |
def safe_run(fn, logger): | |
""" | |
Wraps a function call with a try/except and logs any exceptions. | |
""" | |
def wrapped(*args, **kwargs): | |
try: | |
return fn(*args, **kwargs) | |
except Exception as e: | |
logger(f"Error in {fn.__name__}: {e}") | |
return None | |
return wrapped | |