2011-02-03 3 views
4

C++
私はC++でいくつかのロガークラスを持っています。このロガーは私の図書館で頻繁に使用されています。ロガーは、出力ストリームとして使用するstandart STLストリームを設定することができます。 "SWIGはC++ライブラリをラップの上、" 使用していますSWIGはPythonからC++にパスします

Pythonの
Pythonライブラリは重くStreamHandlerのでPythonの標準ロギングを使用しています。以下のような何か:

logger = logging.getLogger("base_logger") 

#create and set console handler 
ch = logging.StreamHandler() 
ch.stream = sys.stdout 
logger.addHandler(ch) 
SWIGを使ってSTLストリームとしてC++ライブラリへのpythonストリームを渡す方法

だから、あなたのpythonストリームを使用することができます。 std :: ostreamにへのpythonストリーム・オブジェクトに変換

ch = logger.handlers[NEEDED_HANDLER] 
Swig_wrapped_lib.set_stream(ch.stream) 

答えて

1

技術的には、あなたが(に)SWIGのタイプマップを実装する必要がありますような何か。しかし、私はこれが非常に重要ではないことを恐れる。

+3

はい。そして、それは実際には、問題です。 – MajesticRa

関連する問題