1 28 29 package com.idaremedia.antx.feedback; 30 31 import org.apache.log4j.Level; 32 import org.apache.log4j.Logger; 33 import org.apache.log4j.LogManager; 34 import org.apache.log4j.spi.LoggerFactory; 35 36 import com.idaremedia.apis.DiagnosticsEmitter; 37 import com.idaremedia.apis.DiagnosticsEmitterFactory; 38 39 import com.idaremedia.antx.NoiseLevel; 40 41 52 53 public class LJDiagnosticsEmitter implements DiagnosticsEmitter 54 { 55 59 public LJDiagnosticsEmitter() 60 { 61 m_logger = LogManager.getRootLogger(); 62 } 63 64 65 69 public LJDiagnosticsEmitter(Logger logger) 70 { 71 if (logger==null) { 72 throw new IllegalArgumentException (); 73 } 74 m_logger = logger; 75 } 76 77 78 82 public LJDiagnosticsEmitter(String grpId) 83 { 84 if (grpId==null) { 85 throw new IllegalArgumentException (); 86 } 87 m_logger = LogManager.getLogger(grpId); 88 } 89 90 91 97 public LJDiagnosticsEmitter(LoggerFactory lf, String grpId) 98 { 99 if (grpId==null || lf==null) { 100 throw new IllegalArgumentException (); 101 } 102 m_logger = LogManager.getLogger(grpId, lf); 103 } 104 105 106 107 110 public static final Level levelFrom(int nl, Level dflt) 111 { 112 switch (nl) { 113 case NoiseLevel.FATAL_INDEX: 114 return Level.FATAL; 115 case NoiseLevel.ERROR_INDEX: 116 return Level.ERROR; 117 case NoiseLevel.WARNING_INDEX: 118 return Level.WARN; 119 case NoiseLevel.INFO_INDEX: 120 return Level.INFO; 121 case NoiseLevel.VERBOSE_INDEX: 122 return Level.INFO; 123 case NoiseLevel.DEBUG_INDEX: 124 return Level.DEBUG; 125 default: 126 return dflt; 127 } 128 } 129 130 131 135 public boolean emits(int level) 136 { 137 return m_logger.isEnabledFor(levelFrom(level,Level.INFO)); 138 } 139 140 141 145 public boolean emits(Level w) 146 { 147 return m_logger.isEnabledFor(w); 148 } 149 150 151 155 public String identifier() 156 { 157 return m_logger.getName(); 158 } 159 160 161 162 167 public void report(int nl, Object msg, Throwable t) 168 { 169 m_logger.log(FQCN,levelFrom(nl,Level.INFO),msg,t); 170 } 171 172 173 174 177 public void failure(Object msg) 178 { 179 m_logger.log(FQCN,Level.FATAL,msg,null); 180 } 181 182 183 187 public void failure(Throwable t, Object msg) 188 { 189 m_logger.log(FQCN,Level.FATAL,msg,t); 190 } 191 192 193 194 195 198 public void error(Object msg) 199 { 200 m_logger.log(FQCN,Level.ERROR,msg,null); 201 } 202 203 204 208 public void error(Throwable t, Object msg) 209 { 210 m_logger.log(FQCN,Level.ERROR,msg,t); 211 } 212 213 214 215 218 public void warning(Object msg) 219 { 220 m_logger.log(FQCN,Level.WARN,msg,null); 221 } 222 223 224 228 public void warning(Throwable t, Object msg) 229 { 230 m_logger.log(FQCN,Level.WARN,msg,t); 231 } 232 233 234 235 239 public void alert(Object msg) 240 { 241 m_logger.log(FQCN,Level.WARN,msg,null); 242 } 243 244 245 250 public void alert(Throwable t, Object msg) 251 { 252 m_logger.log(FQCN,Level.WARN,msg,t); 253 } 254 255 256 259 public void note(Object msg) 260 { 261 m_logger.log(FQCN,Level.INFO,msg,null); 262 } 263 264 265 266 269 public void trace(Object msg) 270 { 271 m_logger.log(FQCN,Level.DEBUG,msg,null); 272 } 273 274 275 279 public void trace(Throwable t, Object msg) 280 { 281 m_logger.log(FQCN,Level.DEBUG,msg,t); 282 } 283 284 285 289 public final void finetrace(Object msg) 290 { 291 trace(msg); 292 } 293 294 295 300 public final void finetrace(Throwable t, Object msg) 301 { 302 trace(t,msg); 303 } 304 305 306 307 311 public final Logger getLogger() 312 { 313 return m_logger; 314 } 315 316 317 321 public final String getFQCN() 322 { 323 return FQCN; 324 } 325 326 327 332 public final void setFQCN(String fqcn) 333 { 334 if (fqcn==null) { 335 throw new IllegalArgumentException (); 336 } 337 FQCN = fqcn;; 338 } 339 340 341 344 public static final DiagnosticsEmitterFactory FACTORY= 345 new DiagnosticsEmitterFactory() { 346 public DiagnosticsEmitter newEmitter() { 347 return new LJDiagnosticsEmitter(); 348 } 349 public DiagnosticsEmitter newEmitter(String grpId) { 350 return new LJDiagnosticsEmitter(grpId); 351 } 352 }; 353 354 355 356 private final Logger m_logger; 357 private String FQCN = LJDiagnosticsEmitter.class.getName(); 358 } 359 360 361 | Popular Tags |