繁体   English   中英

Python套件称为SignalFx,如何让_logger列印至stdout

[英]Python package called SignalFx, how to get _logger to print to stdout

有一个SignalFx的Python包: 链接到GitHub源

在其中一个文件中,它制作一个使用Python logging库的_logger对象。 该程序包包含许多_logger.debug()语句,这些语句可用于调试连接性问题。

该代码将_logger实例_logger全局变量,如下所示:

_logger = logging.getLogger(__name__)

GitHub中的源代码行

我搜索了一段时间,无法弄清楚如何查看_logger.debug()的输出。 如何获得_logger打印到stdout 或者,在哪里可以查看日志语句?

先感谢您!

您可能需要在使用SignalFx的应用程序中配置日志记录。 例如,这可能在您的主程序脚本中起作用:

if __name__ == '__main__':
    import logging  # if not done already

    logging.basicConfig(level=logging.DEBUG, format='%(name)s %(message)s')

    # and then the rest of your script's code

如果那没有产生结果,则您可能需要提供更多有关如何组织使用SignalFx的代码的信息。

好的,回过头来看一下,我终于有一个基于两个问题的答案:

  1. 这里的问题: 如何在多个模块中使用logging.getLogger(__ name__)
  2. 答案在这里: https : //stackoverflow.com/a/56840272/11163122

第一个问题很有用,因为我意识到了为什么软件包使用getLogger(__name__) 这也使我意识到我只需要访问该软件包的基本记录器,即signalfx

因为我意识到我基本上可以导入的记录,而无需导入第二个答案是有用的_logger从SignalFx。

我的最终解决方案(在我的代码中)是:

sfx_logger = logging.getLogger("signalfx")
sfx_logger.setLevel(logging.DEBUG)
sfx_logger.addHandler(logging.StreamHandler(sys.stdout))

现在,SignalFx记录器将打印到stdout ,我可以看到所有调试语句!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM