我无法从shell重定向Boost生成的日志。我们从一个成功登录到stdout的应用程序开始就足够了。
cjholmes$ ./my_application
[2017-03-14 10:21:16.920355] [0x00007fff79497300] [info] Boost log severity set to trace
[2017-03-14 10:21:16.921071] [0x0000000101282000] [trace] Adding "/Users/cjholmes/Desktop/idsconnector/ca/DigiCertHighAssuranceEVRootCA.pem"
[2017-03-14 10:21:16.921233] [0x0000000101282000] [trace] Adding "/Users/cjholmes/Desktop/idsconnector/ca/DigiCertSHA2HighAssuranceServerCA.pem"
简单,对吗?所以我应该能够做到这一点:
cjholmes$ ./my_application > log.txt
没有输出发送到控制台(这是预期的),但是当我查看log.txt文件时,它是空的。 shell创建文件,但文件始终为空。
我也尝试了所有常用的重定向语法,但它们都不起作用。另外,我尝试使用std :: cout:
显式初始化日志boost::log::add_console_log(std::cout);
我仍然得到相同的结果。我总是可以在控制台上获取日志数据,但是以某种方式重定向输出会丢失我的所有日志数据。
我错过了什么?