python之追溯函数调用及错误日志详细打印

本文介绍了Python中如何追溯函数调用,以便在日志中打印出正确的模块名和行号,以及如何利用traceback模块打印详细的错误日志信息,包括异常堆栈跟踪。
摘要由CSDN通过智能技术生成

目录

一、函数调用追溯

1.1 原因

        在打印日志时,为实现日志分层打印,将打印日志的语句封装到了print_log_info以及print_log_error中。但是如果在上述函数中直接通过logger.*打印日志,日志中的模块名、行号就会一直打印print_log_info和print_log_error函数中的logger.*中的位置。所以有了追溯函数调用的想法,在打印正常日志时,打印对应模块名以及打印日志语句的行号。

1.2 使用实例

2.2.1 追溯函数调用推导

        在一个模块中调用print_log_info函数,在print_log_info函数中调用了trace_caller函数,trace_caller函数定义如下:

import inspect

def trace_caller(laynum):
    cur_func_name = inspect.currentframe()
    cur_func_name = inspect.getouterframes(cur_func_name, 2)
    print(cur_func_name)

打印结果如下:

[(<frame object at 0x04DC2B70>, 'C:\\Users\\Think\\PycharmProjects\\InterfaceFrame\\src\\utils\\utils.py', 19, 'trace_caller', [
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值