当前位置: 首页 > 面试题库 >

如何在Python中记录源文件名和行号

尹兴生
2023-03-14
问题内容

是否可以装饰/扩展python标准日志记录系统,以便在调用日志记录方法时也将文件和文件的行号记录在调用它的位置,或者也可以记录调用该文件的方法?


问题答案:

当然,请检查日志记录文档中的格式化程序。特别是lineno和pathname变量。

%(pathname)s 发出日志记录调用的源文件 完整路径名(如果有)。

%(filename)s 路径名 文件名部分。

%(module)s 模块(文件名的名称部分)。

%(funcName)s 包含日志记录调用的函数 名称。

%(lineno)d 发出记录调用的源行号(如果有)。

看起来像这样:

formatter = logging.Formatter('[%(asctime)s] p%(process)s {%(pathname)s:%(lineno)d} %(levelname)s - %(message)s','%m-%d %H:%M:%S')


 类似资料:
  • 问题内容: 任何人都可以解释将HttpRequest和HttpResponse记录在文件中的任何技术。 我们正在使用Spring MVC / Spring Rest。 我们想要的是在处理请求之前将其拦截并记录下来。用同样的方法在发送响应之前先截取响应并将其记录下来。 非常感谢。 问题答案: 为了记录请求,Spring提供了一个类(实际上是子类之一)。这可用于记录传入的请求(处理之前和之后)。 根据

  • 有人可以解释在文件中记录HttpRequest和Http响应的任何技术吗? 我们使用的是Spring MVC/Spring Rest。 我们想要的是在处理请求之前拦截请求并记录它。同样的方法是在发送响应之前拦截响应并记录它。 提前非常感谢。

  • 问题内容: 我正在尝试学习应用程序的工作方式。为此,我将调试命令作为每个函数主体的第一行插入,目的是记录该函数的名称以及将消息发送到日志输出的行号(在代码内)。最后,由于此应用程序包含许多文件,因此我想创建一个日志文件,以便可以更好地了解应用程序的控制流程。 这是我所知道的: 为了获得函数名,我可以使用,但我不想使用function_name(这样我就可以在所有函数的主体中快速复制并粘贴泛型)。我

  • 我有一个csv,我需要能够打印记录的总数,这是如何做到的?我尝试使用总和语句和计数,但似乎没有工作

  • 问题内容: 我正在开发一个具有几个源文件的Python模块,每个文件都有自己的源于unittest的测试类。考虑目录结构: 要测试Foo.py或Bar.py,我将其添加到Foo.py和Bar.py源文件的末尾: 并在任一源上运行Python,即 理想情况下,我将让“ test.py”自动搜索dirBar以查找任何unittest派生类,并调用一次“ unittest.main()”。在实践中最好的

  • 问题内容: 我想记录stdout和stderr来记录文件,这就是我尝试过的方法。 然后,我想将控制台输出记录在文件中。如 我能做什么? 问题答案: 你提到的不是来自flask的记录器的日志消息中,来自 的记录,你还需要你的处理程序添加到该记录器实例手段,使其工作,如: 如果你查看werkzeug如何初始化其记录器,则将看到只有在尚未设置日志记录的情况下,它才会添加默认处理程序。这意味着,如果你在w