2012-02-24 68 views
0

我想通過__android_log_printfstream來使用iostreams進行日誌記錄。 我的問題是,有沒有把例如什麼好辦法:Android - 將ostream輸出正確地映射到android本地日誌?

cout << "Hello," << " my name is : " << "Kaiser and my ID is: " << 3 << endl; 

到的東西可以被髮送到Android的日誌記錄功能,__android_log_print?我如何正確格式化?

感謝

回答

0

我會嘗試重新啓動亞行與log.redirect-stdio設置爲true

$ adb shell stop 
$ adb shell setprop log.redirect-stdio true 
$ adb shell start 

但是這隻能在模擬器或開發設備的工作,也不會生產設備雖然上工作(在至少,沒有根)。

1

從程序中寫入某個任意目標的方法是從std::streambuf派生一個類並覆蓋它的overflow()sync()函數。然後,您可以創建一個std::ostream,並帶有指向此類對象的指針。要一次寫入多個目的地,您需要使用teebuf,其中一個流緩衝區將寫入兩個(或更多)流緩衝區。谷歌搜索「teebuf」應該產生幾個例子。