0
点赞
收藏
分享

微信扫一扫

日志装饰器

程序员伟杰 2022-03-12 阅读 45


import logging.handlers
from functools import wraps
import traceback

fh = logging.handlers.TimedRotatingFileHandler('run_info_.log', when='midnight', backupCount=7, encoding='utf8')
logging.basicConfig(
format="%(asctime)s %(levelname)s %(message)s",
level=logging.DEBUG,
datefmt="%Y-%m-%d %H:%M:%S",
handlers=[fh],
)
logger = logging.getLogger(__name__)


def logit(func):
@wraps(func)
def with_logging(*args, **kwargs):
logger.info("*" * 100)
logger.info(func.__name__ + " was called")
res = pd.DataFrame()
try:
res = func(*args, **kwargs)
logger.info(func.__name__ + " was finished")
# assert 0
except Exception as E_data:
logger.warning(func.__name__ + " result is {}".format(E_data))

with open("run_info_1.log","a",encoding="utf-8") as log_file:
traceback.print_exc(file=log_file)
# traceback.print_exc()
return res
return with_logging


@logit
def get_current_date():
pass



举报

相关推荐

0 条评论