gpt4 book ai didi

python - python中的记录器链

转载 作者:太空狗 更新时间:2023-10-30 00:42:03 28 4
gpt4 key购买 nike

我正在编写 python 包/模块,希望日志消息提及它们来自哪个模块/类/函数。 IE。如果我运行这段代码:

import mymodule.utils.worker as workerw = worker.Worker()w.run()

我想像这样记录消息:

2010-06-07 15:15:29 INFO mymodule.utils.worker.Worker.run <pid/threadid>: Hello from worker

我怎样才能做到这一点?

谢谢。

最佳答案

我倾向于像这样在我的包/模块中使用日志记录模块:

import logging
log = logging.getLogger(__name__)
log.info("Whatever your info message.")

这会将您的记录器名称设置为包含在日志消息中的模块名称。您可以通过在格式字符串中找到 %(name)s 的位置来控制名称的位置。同样,您可以将 pid 放在 %(process)d 中,将线程 ID 放在 %(thread)d 中。 See the docs对于所有选项。

格式示例:

import logging
logging.basicConfig(format="%(asctime)s %(levelname)s %(name)s %(process)d/%(threadName)s: %(message)s")
logging.getLogger('this.is.the.module').warning('Testing for SO')

给我:

2010-06-07 08:43:10,494 WARNING this.is.the.module 14980/MainThread: Testing for SO

关于python - python中的记录器链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2989398/

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