名为SignalFx的Python包,如何让_logger打印到标准输出
有一个Python包用于: 在它的一个文件中,它创建了一个名为SignalFx的Python包,如何让_logger打印到标准输出,python,logging,Python,Logging,有一个Python包用于: 在它的一个文件中,它创建了一个\u logger对象,该对象使用Python的日志记录库。该包有许多\u logger.debug()语句,可用于调试连接问题 代码将\u记录器实例化为全局变量,如下所示: \u logger=logging.getLogger(\uuuuu name\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuu) 我搜索了一段时间,不知道如何查看\u logger.debug()的输出。如何使\u记录器打印到标准输出?或者,在哪里可
\u logger
对象,该对象使用Python的日志记录
库。该包有许多\u logger.debug()
语句,可用于调试连接问题
代码将\u记录器
实例化为全局变量,如下所示:
\u logger=logging.getLogger(\uuuuu name\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuu)
我搜索了一段时间,不知道如何查看\u logger.debug()
的输出。如何使\u记录器
打印到标准输出
?或者,在哪里可以查看日志语句
提前谢谢你 您可能需要在使用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的代码的信息。好的,回到这一点上,我终于有了一个基于两个问题的答案:
getLogger(\uu\u name\uu)
。这也让我意识到我只需要访问包的基本记录器,名为signalfx
第二个答案很有用,因为我意识到我基本上可以导入记录器,而无需从SignalFx导入\u logger
我的最终解决方案(在我的代码中)是:
sfx_logger = logging.getLogger("signalfx")
sfx_logger.setLevel(logging.DEBUG)
sfx_logger.addHandler(logging.StreamHandler(sys.stdout))
现在,SignalFx记录器打印到stdout,我可以看到所有调试语句