Журнал сторонних сообщений от stdout и отправка через почтовый запрос в Python - PullRequest
0 голосов
/ 18 марта 2019

Можно ли регистрировать сообщения, сгенерированные сторонним приложением на python? Мой код зависит от стороннего сервиса, который изначально реализован на C ++ и имеет оболочку Python. Он записывает различные сообщения через printf () на стандартный вывод. Поэтому, когда я запускаю свой код Python с ведением журнала, эти сторонние сообщения не регистрируются.

Более того, я хочу отправить все свои сообщения журнала на другой сервер через платформу запросов Python. Для сообщений, которые я регистрирую в файле python, я могу немедленно отправить почтовый запрос, но что я должен сделать для тех сторонних сообщений, которые напрямую записываются на стандартный вывод?

1 Ответ

0 голосов
/ 18 марта 2019

Один из простых способов - получить содержимое в строке и затем отправить его на ваш сервер по определенному запросу. Сделайте так, чтобы ваш сервер слушал этот запрос.

Вот код для получения журналов в строке:

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)
...