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


 

 

 

 

你可能感兴趣的:(重定向)