gpt4 book ai didi

python - 日志中的自定义 Logger 类和正确的行号/函数名称

转载 作者:行者123 更新时间:2023-12-04 04:12:41 24 4
gpt4 key购买 nike

我想将 Python 记录器包装在一个自定义类中,以嵌入一些特定于应用程序的功能,并向开发人员隐藏设置细节(设置文件输出、日志记录级别等)。为此,我创建了一个具有以下 API 的类:

__init__(log_level, filename)
debug(msg)
info(msg)
warning(msg)
error(msg)

Logger.debug/info/warning/etc 调用通常在日志中写入进行日志调用的函数和行号。但是,使用我的自定义类,写入日志文件的函数和行号始终相同(对应于自定义类中的 debug()/info()/warning()/error() 函数)。我希望它保存记录消息的应用程序代码行。这可能吗?

提前致谢。

最佳答案

是:sys._getframe(NUM)其中 NUM 表示您正在寻找的当前函数之外有多少函数。返回的框架对象具有类似 f_lineno 的属性和 f_code.co_filename .

http://docs.python.org/library/sys.html#sys._getframe

关于python - 日志中的自定义 Logger 类和正确的行号/函数名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12980512/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com