1 16 package com.google.gwt.dev.util.log; 17 18 import java.io.PrintWriter ; 19 20 23 public final class PrintWriterTreeLogger extends AbstractTreeLogger { 24 25 private final PrintWriter out; 26 27 private final String indent; 28 29 public PrintWriterTreeLogger() { 30 this(new PrintWriter (System.out, true)); 31 } 32 33 public PrintWriterTreeLogger(PrintWriter out) { 34 this(out, ""); 35 } 36 37 protected PrintWriterTreeLogger(PrintWriter out, String indent) { 38 this.out = out; 39 this.indent = indent; 40 } 41 42 protected AbstractTreeLogger doBranch() { 43 return new PrintWriterTreeLogger(out, indent + " "); 44 } 45 46 protected void doCommitBranch(AbstractTreeLogger childBeingCommitted, 47 Type type, String msg, Throwable caught) { 48 doLog(childBeingCommitted.getBranchedIndex(), type, msg, caught); 49 } 50 51 protected void doLog(int indexOfLogEntryWithinParentLogger, Type type, 52 String msg, Throwable caught) { 53 out.print(indent); 54 if (type.needsAttention()) { 55 out.print("["); 56 out.print(type.getLabel()); 57 out.print("] "); 58 } 59 60 out.println(msg); 61 if (caught != null) { 62 caught.printStackTrace(out); 63 } 64 } 65 } 66 | Popular Tags |