【发布时间】:2023-03-09 01:55:01
【问题描述】:
我的应用程序中有一个内部逻辑显示某些任务的结果和时间处理,但现在我开始开发我的用户界面,我需要在备忘录中显示这些结果(我正在使用 ZK 框架)。但是逻辑位于内部类中......那么我如何更改这个类以重定向备忘录中的输出信息而不是控制台?
谢谢
【问题讨论】:
我的应用程序中有一个内部逻辑显示某些任务的结果和时间处理,但现在我开始开发我的用户界面,我需要在备忘录中显示这些结果(我正在使用 ZK 框架)。但是逻辑位于内部类中......那么我如何更改这个类以重定向备忘录中的输出信息而不是控制台?
谢谢
【问题讨论】:
最好使用由System.out.println() 实现的日志框架或自己的报告编写器接口,现在可以用其他实现代替。
但现在最简单的方法是将System.out 设置为System.setOut()。所需的PrintStream 可以在任何File 或更好的OutputStream 上创建。
但是要填充 ZK 的图表模型,您需要解析打印到 System.out 的数据。这听起来是个坏主意。尝试先重构(控制台)应用程序。
【讨论】:
使用System.setOut() 和system.setErr()。传递用 PrintStream 包装的 ByteArrayOutpuStream。然后提取字节。
【讨论】: