001 package org.shiftone.jrat.util.log; 002 003 004 import org.shiftone.jrat.util.log.target.LogTarget; 005 006 007 /** 008 * Interface Log 009 * 010 * @author jeff@shiftone.org (Jeff Drost) 011 */ 012 public class Logger implements LogTarget, Constants { 013 014 private final LogTarget target; 015 private final String topic; 016 017 Logger(String topic, LogTarget target) { 018 this.topic = topic; 019 this.target = target; 020 } 021 022 023 public static Logger getLogger(Class klass) { 024 return LoggerFactory.getLogger(klass); 025 } 026 027 028 public static Logger getLogger(String topic) { 029 return LoggerFactory.getLogger(topic); 030 } 031 032 033 public void log(String topic, int level, Object message, Throwable throwable) { 034 target.log(topic, level, message, throwable); 035 } 036 037 038 public boolean isLevelEnabled(String topic, int level) { 039 return (target != null) && target.isLevelEnabled(topic, level); 040 } 041 042 043 public boolean isLevelEnabled(int level) { 044 return isLevelEnabled(topic, level); 045 } 046 047 048 public boolean isInfoEnabled() { 049 return isLevelEnabled(Logger.LEVEL_INFO); 050 } 051 052 053 public boolean isDebugEnabled() { 054 return isLevelEnabled(Logger.LEVEL_DEBUG); 055 } 056 057 058 public boolean isTraceEnabled() { 059 return isLevelEnabled(Logger.LEVEL_TRACE); 060 } 061 062 063 public void trace(Object obj) { 064 log(topic, Logger.LEVEL_TRACE, obj, null); 065 } 066 067 068 public void debug(Object obj) { 069 log(topic, Logger.LEVEL_DEBUG, obj, null); 070 } 071 072 073 public void debug(Object obj, Throwable t) { 074 log(topic, Logger.LEVEL_DEBUG, obj, t); 075 } 076 077 078 public void info(Object obj) { 079 log(topic, Logger.LEVEL_INFO, obj, null); 080 } 081 082 083 public void info(Object obj, Throwable t) { 084 log(topic, Logger.LEVEL_INFO, obj, t); 085 } 086 087 088 public void warn(Object obj) { 089 log(topic, Logger.LEVEL_WARN, obj, null); 090 } 091 092 093 public void warn(Object obj, Throwable t) { 094 log(topic, Logger.LEVEL_WARN, obj, t); 095 } 096 097 098 public void error(Object obj) { 099 log(topic, Logger.LEVEL_ERROR, obj, null); 100 } 101 102 103 public void error(Object obj, Throwable t) { 104 log(topic, Logger.LEVEL_ERROR, obj, t); 105 t.printStackTrace(System.err); 106 } 107 108 109 public void fatal(Object obj) { 110 log(topic, Logger.LEVEL_FATAL, obj, null); 111 } 112 113 114 public void fatal(Object obj, Throwable t) { 115 log(topic, Logger.LEVEL_FATAL, obj, t); 116 } 117 }