我当时试图从wiki责任链文章的Logger例子。 运行在想法例如,它打印:为什么在System.out.println之前打印System.err.println?
Sending to stderr: An error has occurred.
Writing to stdout: Entering function y.
Writing to stdout: Step1 completed.
Sending via email: Step1 completed.
Writing to stdout: An error has occurred.
Sending via email: An error has occurred.
但是当我把一个破发点中stderrs的WriteMessage
class StderrLogger extends Logger {
public StderrLogger(int mask) {
this.mask = mask;
}
protected void writeMessage(String msg) {
System.err.println("Sending to stderr: " + msg);//break out here
}
}
它打印除了STD ERR所有messags,没有这里涉及到, 线程那么为什么它的印刷stderr在第一线运行的情况下?在Eclipse中,
流可以有不同的缓冲,不同的冲洗等 – 2013-04-26 12:19:50