从 system.out.println 重定向到备忘录
我的应用程序中有一个内部逻辑,用于显示某些任务的结果和时间处理,但现在我开始开发我的用户界面,我需要在备忘录中显示这些结果(我正在使用 ZK 框架)。但逻辑位于内部类中...那么我如何更改此类以重定向备忘录中的输出信息而不是控制台?
谢谢
I have a internal logic in my application that displays results and time processing of certain tasks, but now I started to develop my user interface and I need to show these results in the memo (I'm using ZK framework). But the logic is located in a internal class...so how I can change this class to redirect the output information in the memo instead of console ?
Thx
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
最好使用日志框架或自己的报告编写器接口,该接口首先由 System.out.println() 实现,现在可以由其他实现替换。
但现在最简单的方法是通过
System.setOut()
设置System.out
。可以在任何File
或更好的OutputStream
上创建所需的PrintStream
。但是要填充 ZK 的图表模型,您需要解析打印到 System.out 的数据。这听起来是个坏主意。首先尝试重构(控制台)应用程序。
It would have been better to use a logging framework or an own report writer interface wich first have implemented by
System.out.println()
and now could have been replaced by an other implementation.But now the most simple way would be to set
System.out
bySystem.setOut()
. The neededPrintStream
can be created on anyFile
or betterOutputStream
.But to fill a chart model of ZK you need to parse the data printed to
System.out
. That sounds like a bad idea. Try to refactor the (console) app first.使用 System.setOut() 和 system.setErr()。传递用 PrintStream 包装的 ByteArrayOutpuStream。然后提取字节。
use
System.setOut()
andsystem.setErr()
. Pass there ByteArrayOutpuStream wrapped with PrintStream. Then extract bytes.