Android-将ostream输出正确映射到Android本机日志?
我想使用iostreams通过Android-将ostream输出正确映射到Android本机日志?,android,c++,logging,io,Android,C++,Logging,Io,我想使用iostreams通过\uuu android\u log\u print和fstream进行日志记录。 我的问题是,有没有什么好的方法可以转向例如: cout << "Hello," << " my name is : " << "Kaiser and my ID is: " << 3 << endl; cout我将尝试使用log重新启动adb。将stdio重定向为true: $ adb shell stop $ adb s
\uuu android\u log\u print
和fstream
进行日志记录。
我的问题是,有没有什么好的方法可以转向例如:
cout << "Hello," << " my name is : " << "Kaiser and my ID is: " << 3 << endl;
cout我将尝试使用log重新启动adb。将stdio
重定向为true
:
$ adb shell stop
$ adb shell setprop log.redirect-stdio true
$ adb shell start
但这只在模拟器或开发设备上有效,但在生产设备上不起作用(至少没有根)。从程序中写入任意目标的方法是从std::streambuf
派生一个类,并覆盖其溢出()
和同步()
函数。然后,您可以创建一个std::ostream
,其中包含指向此类对象的指针。要同时写入多个目的地,您需要使用teebuf
,其中一个流缓冲区写入两个(或更多)流缓冲区。谷歌搜索“teebuf”应该可以得到几个例子