有一个用于SignalFx:链接到GitHub源的Python包
在其中一个文件中,它生成一个_logger对象,该对象使用Python的logging库。这个包有许多_logger.debug()语句,这使得它在调试连接问题时很有用。
代码将_logger实例化为全局变量,如下所示:
_logger = logging.getLogger(__name__)
我搜索了一段时间,不知道如何查看_logger.debug()的输出。如何让_logger打印到stdout?或者,在哪里可以查看日志语句?
提前谢谢你!
发布于 2019-07-01 19:05:34
好的,回到这个问题上,我终于得到了一个基于两个问题的答案:
第一个问题很有用,因为我意识到为什么包使用getLogger(__name__)。这也让我意识到,我只需要访问包的基本记录器,名为signalfx。
第二个答案很有用,因为我意识到我基本上可以导入记录器,而不需要从SignalFx导入SignalFx。
我的最后一个解决方案(在我的代码中)是:
sfx_logger = logging.getLogger("signalfx")
sfx_logger.setLevel(logging.DEBUG)
sfx_logger.addHandler(logging.StreamHandler(sys.stdout))现在,SignalFx记录器打印到stdout,我可以看到所有的调试语句!
发布于 2019-06-11 12:44:58
您可能需要在使用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的代码是如何组织的信息。
https://stackoverflow.com/questions/56531961
复制相似问题