package org.dayatang.utils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* SLF4J日志记录器。编写此类以取代裸SLF4J的API是为了:
* (1)使得客户代码中不必做日志级别检测,简化代码。
* (2)将SLF4J中的日志记录的几个重载方法(无参数,一个参数,两个参数,参数数组)合并为一个(用变长参数实现)。
* @author yyang (<a href="mailto:gdyangyu@gmail.com">gdyangyu@gmail.com</a>)
*
*/
public class Slf4JLogger implements org.dayatang.utils.Logger {
private Logger logger;
Slf4JLogger(Logger logger) {
this.logger = logger;
}
public static Slf4JLogger getLogger(Class<?> clazz) {
Logger logger = LoggerFactory.getLogger(clazz);
return new Slf4JLogger(logger);
}
public static Slf4JLogger getLogger(String name) {
Logger logger = LoggerFactory.getLogger(name);
return new Slf4JLogger(logger);
}
public void debug(String msg, Object... args) {
if (logger.isDebugEnabled()) {
logger.debug(msg, args);
}
}
public void debug(String msg, Throwable t) {
if (logger.isDebugEnabled()) {
logger.debug(msg, t);
}
}
public void info(String msg, Object... args) {
if (logger.isInfoEnabled()) {
logger.info(msg, args);
}
}
public void info(String msg, Throwable t) {
if (logger.isInfoEnabled()) {
logger.info(msg, t);
}
}
public void trace(String format, Object... args) {
if (logger.isTraceEnabled()) {
logger.trace(format, args);
}
}
public void trace(String msg, Throwable t) {
if (logger.isTraceEnabled()) {
logger.trace(msg, t);
}
}
public void warn(String format, Object... args) {
if (logger.isWarnEnabled()) {
logger.warn(format, args);
}
}
public void warn(String msg, Throwable t) {
if (logger.isWarnEnabled()) {
logger.warn(msg, t);
}
}
public void error(String format, Object... args) {
if (logger.isErrorEnabled()) {
logger.error(format, args);
}
}
public void error(String msg, Throwable t) {
if (logger.isErrorEnabled()) {
logger.error(msg, t);
}
}
}