Python 如何获取此文件外部的第一个堆栈帧

Python 如何获取此文件外部的第一个堆栈帧,python,path,stack-trace,Python,Path,Stack Trace,我正在用python编写一些自定义日志代码。我想找出调用我的日志函数的函数的行号和文件名,同时忽略当前模块中的任何调用 我的第一次尝试是这样的: def _make_line_log_message(self, level, message): stack = inspect.stack() for frame_record in stack: frame, filename, line, function, src_context, src_context_li

我正在用python编写一些自定义日志代码。我想找出调用我的日志函数的函数的行号和文件名,同时忽略当前模块中的任何调用

我的第一次尝试是这样的:

def _make_line_log_message(self, level, message):
    stack = inspect.stack()
    for frame_record in stack:
        frame, filename, line, function, src_context, src_context_line = frame_record
        if filename == __file__:  # This doesn't work
            continue

        do_my_logging(filename, line, message)
        break
但是
inspect.stack()
中的文件名使用了文件的完整路径,而
\uuuu file\uuuu
只是没有路径的文件名。如何获取当前文件的文件名,使其匹配
inspect.stack()
os.path.realpath(\uuu file\uuu)
是否始终与
inspect.stack()
的文件名格式完全匹配,还是有更好的方法