stderr重定向

在测试alljoyn时开启了内部日志,输出太多想重定向到文件中,使用如下命令:

./chat -s aaa >1.txt

居然还是打印到屏幕上而不是输出到文件中。

 

查看alljoyn写日志的代码,发现

void QCC_UseOSLogging(bool useOSLog)
{
    void* context = stderr;
    QCC_DbgMsgCallback cb = QCC_GetOSLogger(useOSLog);
    if (!cb) {
        cb = WriteMsg;
    }
    
    QCC_RegisterOutputCallback(cb, context);
}

原来其日志是输出到stderr而非stdout的,直接使用‘./chat -s aaa >1.txt’ 命令仅重定向stdout,当然达不到效果。

要重定向stderr,使用如下命令即可:

./chat -s zccc &> 1.txt


 

 

 

 

posted @ 2015-07-27 10:38    阅读(1645)  评论(0编辑  收藏  举报