37. Decorators for Method Logging
1. Basic Logging Decorator
import functools
def log_method_call(func):
@functools.wraps(func)
def wrapper(*args, **kwargs):
print(f"Calling {func.__name__} with arguments {args} and keyword arguments {kwargs}")
result = func(*args, **kwargs)
print(f"{func.__name__} returned {result}")
return result
return wrapper
class MyClass:
@log_method_call
def greet(self, name):
return f"Hello, {name}"
obj = MyClass()
obj.greet("Alice")2. Logging Method Call with Timestamp
3. Logging Method Call with Exception Handling
4. Logging Method Call with Return Value Modification
5. Logging Method Call with Function Arguments and Method Name
6. Logging Method Call with Performance Measurement
7. Logging Method Call with Caller Information
8. Logging Method Call with Indentation for Nested Calls
9. Logging Method Call for Class Methods
10. Logging Method Call with Custom Logging Function
Last updated