On 10/19/06, Tony Wu <[EMAIL PROTECTED]> wrote:
I've tried Log4j on Harmony and found there are many failures caused by one difference between RI and Harmony. The Throwable.printStackTrace(PrintWriter) calls the *println* method of PrinterWriter on RI whereas calls *print* twice(Obviously print msssage then print a line separator) on Harmony. It will cause different behavior when a user inherit the PrinterWriter and override these two methods. Shall we fix it or leave as an non-bug difference?
For this case, RI doesn't conflict with spec, and is reasonable, so I think we'd better follow RI. Additionally, log4j has shown its dependency of this feature! refer to testcase below,
public class TestThrow { public static void main(String[] args) { MyWriter mw = new MyWriter(System.out); Throwable throwable = new Exception("Just Testing"); throwable.printStackTrace(mw); } } class MyWriter extends PrintWriter { public MyWriter(OutputStream out) { super(out); } public void print(String s) { System.out.println("print"); } public void println(String s) { System.out.println("println"); } } OUTPUTS: RI println HARMONY print print -- Tony Wu China Software Development Lab, IBM --------------------------------------------------------------------- Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
-- Best regards, Andrew Zhang