C ++
У меня есть некоторый класс логгера в C ++.Этот регистратор интенсивно используется в моей библиотеке.Регистратор позволяет установить стандартный поток STL для использования в качестве выходного потока.
Python
Библиотека Python, которая использует «библиотеку C ++ над оболочкой SWIG», в значительной степени использует стандартное ведение журналов Python с StreamHandler.Что-то вроде:
logger = logging.getLogger("base_logger")
#create and set console handler
ch = logging.StreamHandler()
ch.stream = sys.stdout
logger.addHandler(ch)
Как передать поток Python в библиотеку C ++ как поток STL с помощью SWIG?
Таким образом, можно сделать C ++ для использования вашего потока Python.Что-то вроде:
ch = logger.handlers[NEEDED_HANDLER]
Swig_wrapped_lib.set_stream(ch.stream)