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

如何将Java控制台输出传递给文件?

如何解决《如何将Java控制台输出传递给文件?》经验,为你挑选了3个好方法。

我在应用程序中发现了一个完全冻结JVM的错误.生成的堆栈跟踪将为开发人员提供有价值的信息,我想从Java控制台检索它.当JVM崩溃时,控制台被冻结,我无法再复制包含的文本.

有没有办法将Java控制台直接传递给文件或其他一些访问Java应用程序的控制台输出的方法?

更新:我忘记提及,而不更改代码.我是一名手动测试员.

更新2:这是在Windows XP下,它实际上是一个Web启动应用程序.管道输出

javaws jnlp-url
不起作用(空文件).



1> Cedric Meury..:

实际上,可以在Java控制面板中激活跟踪.这将在跟踪文件中管理最终在Java控制台中的任何内容.

日志文件最终会出现在:

Unix/Linux上的 /.java/deployment/log

Windows上的<用户应用程序数据文件夹>\Sun\Java\Deployment\log

/〜/ Library/Caches/Java /登录OS X.



2> oxbow_lakes..:

(如果可以修改代码),可以将System.out字段设置为其他值:

System.setOut(new PrintStream(new FileOutputStream(fileName)));

如果您正在运行脚本(通过调用程序java),Unix您可以执行以下操作:

/path/to/script.sh >& path/to/output.log


嗯.`System.out`是`final`,因此你无法像使用`PrintStream`那样改变它.您可以使用`System.setOut(...)`来做到这一点,即:`System.setOut(new PrintStream(new FileOutputStream(fileName)));`

3> 小智..:

在Mac 10.8.2中可以找到日志/Users//Library/Application Support/Oracle/Java/Deployment/log/.

必须从Java控制面板启用日志记录之前.选项" Enable logging"位于选项卡" Advanced".Java控制面板可以从" System preferences" 启动.

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