読者です 読者をやめる 読者になる 読者になる

ほんじゃら堂

めんどくさい仕事をラクにする作業自動化レシピ集

関数の呼び出しログを取る

IT系・技術系 python

デコレータ便利。この例では呼び出しと引数だけをログしてるけど、
処理にかかった時間の計測とか、色々できそう。


log.py

import logging
def log_api_call(func):
def decorator(*args, **kwargs):
logging.info("API: %s called. params: %s %s" % (func.func_name, str(args)[:200], str(kwargs)[:200]))
return func(*args,**kwargs)
return decorator


api.py

from project1.api.log import log_api_call
@log_api_call
def api1(arg1):
...