/** * Copyright (c) 2014, the Railo Company Ltd. * Copyright (c) 2015, Lucee Assosication Switzerland * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library. If not, see <http://www.gnu.org/licenses/>. * */ package lucee.commons.io.log.sl4j; import lucee.commons.io.log.Log; import lucee.commons.io.log.LogUtil; import lucee.runtime.op.Caster; import org.slf4j.Marker; import org.slf4j.helpers.MarkerIgnoringBase; import org.slf4j.spi.LocationAwareLogger; public final class LoggerAdapterImpl extends MarkerIgnoringBase implements LocationAwareLogger { private static final long serialVersionUID = 3875268250734654111L; private Log logger; private String _name; public LoggerAdapterImpl(Log logger, String name){ this.logger=logger; this._name=name; } @Override public void debug(String msg) {log(Log.LEVEL_DEBUG,msg);} @Override public void error(String msg) {log(Log.LEVEL_ERROR,msg);} @Override public void info(String msg) {log(Log.LEVEL_INFO,msg);} @Override public void trace(String msg) {} @Override public void warn(String msg) {log(Log.LEVEL_WARN,msg);} @Override public void debug(String format, Object arg) {log(Log.LEVEL_DEBUG,format,arg);} @Override public void error(String format, Object arg) {log(Log.LEVEL_ERROR,format,arg);} @Override public void info(String format, Object arg) {log(Log.LEVEL_INFO,format,arg);} @Override public void trace(String format, Object arg) {} @Override public void warn(String format, Object arg) {log(Log.LEVEL_WARN,format,arg);} @Override public void debug(String format, Object arg1, Object arg2) {log(Log.LEVEL_DEBUG,format,arg1,arg2);} @Override public void error(String format, Object arg1, Object arg2) {log(Log.LEVEL_DEBUG,format,arg1,arg2);} @Override public void info(String format, Object arg1, Object arg2) {log(Log.LEVEL_DEBUG,format,arg1,arg2);} @Override public void trace(String format, Object arg1, Object arg2) {} @Override public void warn(String format, Object arg1, Object arg2) {log(Log.LEVEL_DEBUG,format,arg1,arg2);} @Override public void debug(String format, Object[] args) {log(Log.LEVEL_DEBUG,format,args);} @Override public void error(String format, Object[] args) {log(Log.LEVEL_DEBUG,format,args);} @Override public void info(String format, Object[] args) {log(Log.LEVEL_DEBUG,format,args);} @Override public void trace(String format, Object[] args) {} @Override public void warn(String format, Object[] args) {log(Log.LEVEL_DEBUG,format,args);} @Override public void debug(String msg, Throwable t) {log(Log.LEVEL_DEBUG,msg,t);} @Override public void error(String msg, Throwable t) {log(Log.LEVEL_DEBUG,msg,t);} @Override public void info(String msg, Throwable t) {log(Log.LEVEL_DEBUG,msg,t);} @Override public void trace(String msg, Throwable t) {} @Override public void warn(String msg, Throwable t) {log(Log.LEVEL_DEBUG,msg,t);} private void log(int level, String msg) { logger.log(level, _name, msg); } private void log(int level, String msg, Throwable t) { LogUtil.log(logger,level, _name, msg,t); } private void log(int level, String format, Object arg) { log(level, Caster.toString(arg,"")); } private void log(int level, String format, Object arg1, Object arg2) { log(level, Caster.toString(arg1,"")+"\n"+Caster.toString(arg2,"")); } private void log(int level, String format, Object[] args) { StringBuilder sb=new StringBuilder(); for(int i=0;i<args.length;i++){ sb.append(Caster.toString(args[i],"")); sb.append("\n"); } log(level, sb.toString().trim()); } @Override public boolean isDebugEnabled() { return logger.getLogLevel()<=Log.LEVEL_DEBUG; } @Override public boolean isErrorEnabled() { return logger.getLogLevel()<=Log.LEVEL_ERROR; } @Override public boolean isInfoEnabled() { return logger.getLogLevel()<=Log.LEVEL_INFO; } @Override public boolean isTraceEnabled() { return false; } @Override public boolean isWarnEnabled() { return logger.getLogLevel()<=Log.LEVEL_WARN; } public void log(Marker marker, String arg1, int arg2, String arg3,Throwable arg4) { // log(level, Caster.toString(arg1,"")+"\n"+Caster.toString(arg2,"")+"\n"+Caster.toString(arg3,"")); } @Override public void log(Marker arg0, String arg1, int arg2, String arg3, Object[] arg4, Throwable arg5) { // TODO Auto-generated method stub } }