SignalFx有一个Python软件包:link to GitHub source
在其中一个文件中,它创建一个使用Python的_logger
库的logging
对象。该软件包有许多_logger.debug()
语句,可用于调试连通性问题。
代码将_logger
实例化为全局变量,如下所示:
_logger = logging.getLogger(__name__)
我搜索了一段时间,无法弄清楚如何查看_logger.debug()
的输出。如何获得_logger
打印到stdout
?或者,在哪里可以查看日志语句?
提前谢谢!
答案 0 :(得分:1)
您可能需要在使用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 :(得分:0)
好吧,回到这一点,我终于有一个基于两个问题的答案:
第一个问题很有用,因为我意识到了为什么软件包使用getLogger(__name__)
。这也让我意识到我只需要访问名为signalfx
的软件包的基本记录器即可。
第二个答案很有用,因为我意识到我基本上可以导入记录器,而无需从SignalFx导入_logger
。
我最终的解决方案(在我的代码中)是
sfx_logger = logging.getLogger("signalfx")
sfx_logger.setLevel(logging.DEBUG)
sfx_logger.addHandler(logging.StreamHandler(sys.stdout))
现在,SignalFx记录器将打印到stdout
,我可以看到所有调试语句!