是否应将GUI应用程序警告消息发送到std :: cerr?

Wil*_*mKF 3 c++ warnings stdout stderr

是否应该将Unix GUI应用程序的警告发送到std :: cerr或std :: cout?

这假定GUI通常在控制台窗口中显示警告和错误,并将它们发送到日志文件.但是如果控制台丢失并因此无法使用std :: cerr,std :: cout或std :: clog用于此类消息?

我在想std :: cerr是他们所属的地方.

Pot*_*ter 6

我更喜欢cerr.如果用户管的输出或将其发送到一个文件,就可以选择不cerr

tool 2>/dev/null >output
Run Code Online (Sandbox Code Playgroud)

但是把所有东西都放在一个流中就会留下SOL.

也是cerr无缓冲的,因此无论崩溃和刻录有多难,都可以保证出现错误消息.如果用户/dev/null在上面替换了其他内容,那么警告应该与错误一起传输......我不确定这是否是一个明确的论点.