1 16 package com.google.gwt.dev.util.log; 17 18 import com.google.gwt.core.ext.TreeLogger; 19 20 27 public final class ThreadLocalTreeLoggerProxy implements TreeLogger { 28 29 private static final ThreadLocal perThreadLogger = new ThreadLocal (); 30 31 public ThreadLocalTreeLoggerProxy() { 32 this(null); 33 } 34 35 public ThreadLocalTreeLoggerProxy(TreeLogger logger) { 36 set(logger); 37 } 38 39 43 public TreeLogger branch(Type type, String msg, Throwable caught) { 44 TreeLogger logger = (TreeLogger) perThreadLogger.get(); 45 if (logger != null) { 46 return logger.branch(type, msg, caught); 47 } else { 48 return this; 49 } 50 } 51 52 58 public boolean isLoggable(Type type) { 59 TreeLogger logger = (TreeLogger) perThreadLogger.get(); 60 if (logger != null) { 61 return logger.isLoggable(type); 62 } else { 63 return false; 64 } 65 } 66 67 71 public void log(Type type, String msg, Throwable caught) { 72 TreeLogger logger = (TreeLogger) perThreadLogger.get(); 73 if (logger != null) { 74 logger.log(type, msg, caught); 75 } 76 } 77 78 81 public void set(TreeLogger logger) { 82 perThreadLogger.set(logger); 83 } 84 } 85 | Popular Tags |