记录来自stdout的第三方消息并通过python中的发布请求发送

时间:2019-03-18 06:34:03

标签: python logging python-requests stdout

是否可以在Python中记录由第三方应用程序生成的消息?我的代码取决于最初由C ++实现的第三方服务,并且具有python包装器。它通过printf()将各种消息记录到标准输出。因此,当我使用日志记录运行python代码时,不会记录这些第三方消息。

此外,我想通过python请求框架将所有日志消息发送到另一台服务器。对于我登录python文件的消息,我可以立即发送发布请求,但是对于那些直接写入标准输出的第三方消息,我该怎么办?

1 个答案:

答案 0 :(得分:0)

一种简单的方法是获取字符串中的内容,然后根据特定请求将其发送到服务器。让您的服务器监听该请求。

这是将日志记录为字符串的代码:

import logging
try:
    from cStringIO import StringIO      # Python 2
except ImportError:
    from io import StringIO

log_stream = StringIO()    
logging.basicConfig(stream=log_stream, level=logging.INFO)