関数に付与すると対象の関数の情報をログに出力してくれるデコレータ
import logging
from functools import wraps
# ログの設定
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)
def log_function(func):
@wraps(func)
def wrapper(*args, **kwargs):
logger.info(f"Function '{func.__name__}' started with args={args}, kwargs={kwargs}")
result = func(*args, **kwargs)
logger.info(f"Function '{func.__name__}' ended with result={result}")
return result
return wrapper