当前位置:  开发笔记 > 编程语言 > 正文

java stderr去哪儿了?

如何解决《javastderr去哪儿了?》经验,为你挑选了1个好方法。

我想知道,java stderr在哪里标准化了?

我知道我可以使用System.setErr更改stderr,'重新分配"标准"错误输出流.',但我不知道,哪一个是"标准".

我想更多地指出我的问题:我在java(jni)中使用了C++库.问题是看起来我无法看到来自我的C++库的输出到stderr.我在C++库中调用assert(),当我运行使用该库的java api时,在控制台中看不到输出.



1> Jon Skeet..:

无论设置如何,它都会进入流程的标准错误流.

如果从控制台运行应用程序,它也可能会写入控制台.

在GUI中,标准输出/错误通常被丢弃,即输出丢失.

在服务(例如Web服务器)中,标准错误/输出通常在某个地方的旋转日志文件中捕获,但它完全取决于服务.

大多数平台允许您将标准错误流重定向到其他位置(例如,文本文件).

System.setErr的想法是允许您使用进程本身的标准错误流,而是更改它以便对System.err.printlnetc的调用转到给定的流.

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有