package org.zbus.common.logging.impl; import java.util.Arrays; import java.util.IllegalFormatException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class Slf4JLogger implements org.zbus.common.logging.Logger { protected final Logger logger; public Slf4JLogger(String category) { logger = LoggerFactory.getLogger(category); } public Slf4JLogger(Class<?> category) { logger = LoggerFactory.getLogger(category.getName()); // fix for https://jira.jboss.org/browse/JGRP-1224 } public boolean isTraceEnabled() { return logger.isTraceEnabled(); } public boolean isDebugEnabled() { return logger.isDebugEnabled(); } public boolean isInfoEnabled() { return logger.isInfoEnabled(); } public boolean isWarnEnabled() { return logger.isWarnEnabled(); } public boolean isErrorEnabled() { return logger.isErrorEnabled(); } public boolean isFatalEnabled() { return logger.isErrorEnabled(); } public void trace(String msg) { logger.trace(msg); } public void trace(String msg, Object... args) { if(isTraceEnabled()) logger.trace(format(msg, args)); } public void trace(Object msg) { logger.trace(msg.toString()); } public void trace(String msg, Throwable t) { logger.trace(msg, t); } public void debug(String msg) { logger.debug(msg);; } public void debug(String msg, Object... args) { if(isDebugEnabled()) logger.debug(format(msg, args)); } public void debug(String msg, Throwable t) { logger.debug(msg, t); } public void info(String msg) { logger.info(msg); } public void info(String msg, Object... args) { if(isInfoEnabled()) logger.info(format(msg, args)); } public void warn(String msg) { logger.warn(msg); } public void warn(String msg, Object... args) { if(isWarnEnabled()) logger.warn(format(msg, args)); } public void warn(String msg, Throwable t) { logger.warn(msg, t); } public void error(String msg) { logger.warn(msg); } public void error(String format, Object... args) { if(isErrorEnabled()) logger.error(format(format, args)); } public void error(String msg, Throwable t) { logger.error(msg, t); } public void fatal(String msg) { logger.error(msg); } public void fatal(String msg, Object... args) { if(isFatalEnabled()) logger.error(format(msg, args)); } public void fatal(String msg, Throwable t) { logger.error(msg, t); } protected String format(String format, Object... args) { try { return String.format(format, args); } catch(IllegalFormatException ex) { error("Illegal format string \"" + format + "\", args=" + Arrays.toString(args)); } catch(Throwable t) { error("Failure formatting string: format string=" + format + ", args=" + Arrays.toString(args)); } return format; } }