在调试代码时,我倾向于大量使用System.out & System.err。问题是,当异常发生时,我同时使用System.out,结果看起来不太有条理。
[CLIENT]:postinit: vic.rpg.gui.GuiMain.init()
java.net.ConnectException: Connection refused: connect
[CLIENT]:Destroying Network Thread...
[CLIENT]:done!
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
...
[CLIENT]:Starting Server...这不是很严重,但有时会使阅读日志有点困难。
发布于 2014-02-10 10:49:27
您可以通过每次写入任何流时调用flush来避免此问题。例如:
System.out.println ("Writing to *out*");
System.out.flush ();如果您是从不同的线程进行日志记录,那么您的日志记录消息自然会交织在一起。如果您想通过线程将输出清晰地分开,我建议使用日志库(如log4j )。
https://stackoverflow.com/questions/21674991
复制相似问题