1 16 package org.outerj.daisy.logging; 17 18 import org.apache.commons.logging.Log; 19 import org.apache.avalon.framework.logger.Logger; 20 21 30 public class DaisyLog implements Log { 31 private static Logger globalLogger; 32 private Logger logger; 33 private String name; 34 35 protected static void setLogger(Logger logger) { 36 DaisyLog.globalLogger = logger; 37 } 38 39 public DaisyLog(String name) { 40 this.name = name; 41 if (globalLogger != null) 42 this.logger = globalLogger.getChildLogger(name); 43 } 44 45 public boolean isDebugEnabled() { 46 if (getLogger() != null) 47 return getLogger().isDebugEnabled(); 48 else 49 return false; 50 } 51 52 public boolean isErrorEnabled() { 53 if (getLogger() != null) 54 return getLogger().isErrorEnabled(); 55 else 56 return true; 57 } 58 59 public boolean isFatalEnabled() { 60 if (getLogger() != null) 61 return getLogger().isFatalErrorEnabled(); 62 else 63 return true; 64 } 65 66 public boolean isInfoEnabled() { 67 if (getLogger() != null) 68 return getLogger().isInfoEnabled(); 69 else 70 return false; 71 } 72 73 public boolean isTraceEnabled() { 74 if (getLogger() != null) 75 return getLogger().isDebugEnabled(); 76 else 77 return false; 78 } 79 80 public boolean isWarnEnabled() { 81 if (getLogger() != null) 82 return getLogger().isDebugEnabled(); 83 else 84 return false; 85 } 86 87 public void trace(Object object) { 88 if (getLogger() != null) 89 getLogger().debug(formatMessage(object)); 90 } 91 92 public void trace(Object object, Throwable throwable) { 93 if (getLogger() != null) 94 getLogger().debug(formatMessage(object), throwable); 95 } 96 97 public void debug(Object object) { 98 if (getLogger() != null) 99 getLogger().debug(formatMessage(object)); 100 } 101 102 public void debug(Object object, Throwable throwable) { 103 if (getLogger() != null) 104 getLogger().debug(formatMessage(object), throwable); 105 } 106 107 public void info(Object object) { 108 if (getLogger() != null) 109 getLogger().info(formatMessage(object)); 110 } 111 112 public void info(Object object, Throwable throwable) { 113 if (getLogger() != null) 114 getLogger().info(formatMessage(object), throwable); 115 } 116 117 public void warn(Object object) { 118 if (getLogger() != null) 119 getLogger().warn(formatMessage(object)); 120 else 121 System.err.println("WARN: " + object); 122 } 123 124 public void warn(Object object, Throwable throwable) { 125 if (getLogger() != null) { 126 getLogger().warn(formatMessage(object), throwable); 127 } else { 128 System.err.println("WARN: " + object); 129 throwable.printStackTrace(System.err); 130 } 131 } 132 133 public void error(Object object) { 134 if (getLogger() != null) 135 getLogger().error(formatMessage(object)); 136 else 137 System.err.println("ERROR: " + object); 138 } 139 140 public void error(Object object, Throwable throwable) { 141 if (getLogger() != null) { 142 getLogger().error(formatMessage(object), throwable); 143 } else { 144 System.err.println("ERROR: " + object); 145 throwable.printStackTrace(System.err); 146 } 147 } 148 149 public void fatal(Object object) { 150 if (getLogger() != null) 151 getLogger().fatalError(formatMessage(object)); 152 else 153 System.err.println("FATAL: " + object); 154 } 155 156 public void fatal(Object object, Throwable throwable) { 157 if (getLogger() != null) { 158 getLogger().fatalError(formatMessage(object), throwable); 159 } else { 160 System.err.println("FATAL: " + object); 161 throwable.printStackTrace(System.err); 162 } 163 } 164 165 private String formatMessage(Object object) { 166 return object == null ? "null" : object.toString(); 167 } 168 169 private Logger getLogger() { 170 if (logger != null) { 171 return logger; 172 } else if (globalLogger != null) { 173 logger = globalLogger.getChildLogger(name); 174 return logger; 175 } else { 176 return null; 177 } 178 } 179 } 180 | Popular Tags |