1 // TOTO 2 3 package org.apache.commons.logging.impl; 4 5 import org.apache.commons.logging.Log; 6 import org.slf4j.Logger; 7 import org.slf4j.spi.LocationAwareLogger; 8 9 /** 10 * Implementation of {@link Log org.apache.commons.logging.Log} interface which 11 * delegates all processing to a wrapped {@link Logger org.slf4j.Logger} instance. 12 * 13 * <p>JCL's FATAL and TRACE levels are mapped to ERROR and DEBUG respectively. All 14 * other levels map one to one. 15 * 16 * @author Ceki Gülcü 17 */ 18 public class SLF4JLocationAwareLog implements Log { 19 20 private LocationAwareLogger logger; 21 private static final String FQCN = SLF4JLocationAwareLog.class.getName(); 22 23 SLF4JLocationAwareLog(LocationAwareLogger logger) { 24 this.logger = logger; 25 } 26 27 /** 28 * Directly delegates to the wrapped <code>org.slf4j.Logger</code> instance. 29 */ 30 public boolean isDebugEnabled() { 31 return logger.isDebugEnabled(); 32 } 33 34 /** 35 * Directly delegates to the wrapped <code>org.slf4j.Logger</code> instance. 36 */ 37 public boolean isErrorEnabled() { 38 return logger.isErrorEnabled(); 39 } 40 41 /** 42 * Delegates to the <code>isErrorEnabled<code> method of the wrapped 43 * <code>org.slf4j.Logger</code> instance. 44 */ 45 public boolean isFatalEnabled() { 46 return logger.isErrorEnabled(); 47 } 48 49 /** 50 * Directly delegates to the wrapped <code>org.slf4j.Logger</code> instance. 51 */ 52 public boolean isInfoEnabled() { 53 return logger.isInfoEnabled(); 54 } 55 56 /** 57 * Delegates to the <code>isTraceEnabled<code> method of the wrapped 58 * <code>org.slf4j.Logger</code> instance. 59 */ 60 public boolean isTraceEnabled() { 61 return logger.isTraceEnabled(); 62 } 63 64 /** 65 * Directly delegates to the wrapped <code>org.slf4j.Logger</code> instance. 66 */ 67 public boolean isWarnEnabled() { 68 return logger.isWarnEnabled(); 69 } 70 71 /** 72 * Converts the input parameter to String and then delegates to 73 * the debug method of the wrapped <code>org.slf4j.Logger</code> instance. 74 * 75 * @param message the message to log. Converted to {@link String} 76 */ 77 public void trace(Object message) { 78 logger.log(null, FQCN, LocationAwareLogger.TRACE_INT, String.valueOf(message), null); 79 } 80 81 /** 82 * Converts the first input parameter to String and then delegates to 83 * the debug method of the wrapped <code>org.slf4j.Logger</code> instance. 84 * 85 * @param message the message to log. Converted to {@link String} 86 * @param t the exception to log 87 */ 88 public void trace(Object message, Throwable t) { 89 logger.log(null, FQCN, LocationAwareLogger.TRACE_INT, String.valueOf(message), t); 90 } 91 92 /** 93 * Converts the input parameter to String and then delegates to the wrapped 94 * <code>org.slf4j.Logger</code> instance. 95 * 96 * @param message the message to log. Converted to {@link String} 97 */ 98 public void debug(Object message) { 99 logger.log(null, FQCN, LocationAwareLogger.DEBUG_INT, String.valueOf(message), null); 100 } 101 102 /** 103 * Converts the first input parameter to String and then delegates to 104 * the wrapped <code>org.slf4j.Logger</code> instance. 105 * 106 * @param message the message to log. Converted to {@link String} 107 * @param t the exception to log 108 */ 109 public void debug(Object message, Throwable t) { 110 logger.log(null, FQCN, LocationAwareLogger.DEBUG_INT, String.valueOf(message), t); 111 } 112 113 /** 114 * Converts the input parameter to String and then delegates to the wrapped 115 * <code>org.slf4j.Logger</code> instance. 116 * 117 * @param message the message to log. Converted to {@link String} 118 */ 119 public void info(Object message) { 120 logger.log(null, FQCN, LocationAwareLogger.INFO_INT, String.valueOf(message), null); 121 } 122 123 /** 124 * Converts the first input parameter to String and then delegates to 125 * the wrapped <code>org.slf4j.Logger</code> instance. 126 * 127 * @param message the message to log. Converted to {@link String} 128 * @param t the exception to log 129 */ 130 public void info(Object message, Throwable t) { 131 logger.log(null, FQCN, LocationAwareLogger.INFO_INT, String.valueOf(message), t); 132 } 133 134 /** 135 * Converts the input parameter to String and then delegates to the wrapped 136 * <code>org.slf4j.Logger</code> instance. 137 * 138 * @param message the message to log. Converted to {@link String} 139 */ 140 public void warn(Object message) { 141 logger.log(null, FQCN, LocationAwareLogger.WARN_INT, String.valueOf(message), null); 142 } 143 144 /** 145 * Converts the first input parameter to String and then delegates to 146 * the wrapped <code>org.slf4j.Logger</code> instance. 147 * 148 * @param message the message to log. Converted to {@link String} 149 * @param t the exception to log 150 */ 151 public void warn(Object message, Throwable t) { 152 logger.log(null, FQCN, LocationAwareLogger.WARN_INT, String.valueOf(message), t); 153 } 154 155 /** 156 * Converts the input parameter to String and then delegates to the wrapped 157 * <code>org.slf4j.Logger</code> instance. 158 * 159 * @param message the message to log. Converted to {@link String} 160 */ 161 public void error(Object message) { 162 logger.log(null, FQCN, LocationAwareLogger.ERROR_INT, String.valueOf(message), null); 163 } 164 165 /** 166 * Converts the first input parameter to String and then delegates to 167 * the wrapped <code>org.slf4j.Logger</code> instance. 168 * 169 * @param message the message to log. Converted to {@link String} 170 * @param t the exception to log 171 */ 172 public void error(Object message, Throwable t) { 173 logger.log(null, FQCN, LocationAwareLogger.ERROR_INT, String.valueOf(message), t); 174 } 175 176 177 178 /** 179 * Converts the input parameter to String and then delegates to 180 * the error method of the wrapped <code>org.slf4j.Logger</code> instance. 181 * 182 * @param message the message to log. Converted to {@link String} 183 */ 184 public void fatal(Object message) { 185 logger.log(null, FQCN, LocationAwareLogger.ERROR_INT, String.valueOf(message), null); 186 } 187 188 /** 189 * Converts the first input parameter to String and then delegates to 190 * the error method of the wrapped <code>org.slf4j.Logger</code> instance. 191 * 192 * @param message the message to log. Converted to {@link String} 193 * @param t the exception to log 194 */ 195 public void fatal(Object message, Throwable t) { 196 logger.log(null, FQCN, LocationAwareLogger.ERROR_INT, String.valueOf(message), t); 197 } 198 199 }