001/** 002 * 003 * Copyright (c) 2014, the Railo Company Ltd. All rights reserved. 004 * 005 * This library is free software; you can redistribute it and/or 006 * modify it under the terms of the GNU Lesser General Public 007 * License as published by the Free Software Foundation; either 008 * version 2.1 of the License, or (at your option) any later version. 009 * 010 * This library is distributed in the hope that it will be useful, 011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 013 * Lesser General Public License for more details. 014 * 015 * You should have received a copy of the GNU Lesser General Public 016 * License along with this library. If not, see <http://www.gnu.org/licenses/>. 017 * 018 **/ 019package lucee.commons.io.log.sl4j; 020 021 022import lucee.commons.io.log.Log; 023import lucee.commons.io.log.LogUtil; 024import lucee.runtime.op.Caster; 025 026import org.slf4j.Marker; 027import org.slf4j.helpers.MarkerIgnoringBase; 028import org.slf4j.spi.LocationAwareLogger; 029 030public final class LoggerAdapterImpl extends MarkerIgnoringBase implements LocationAwareLogger { 031 032 private static final long serialVersionUID = 3875268250734654111L; 033 034 private Log logger; 035 private String _name; 036 037 public LoggerAdapterImpl(Log logger, String name){ 038 this.logger=logger; 039 this._name=name; 040 } 041 042 public void debug(String msg) {log(Log.LEVEL_DEBUG,msg);} 043 public void error(String msg) {log(Log.LEVEL_ERROR,msg);} 044 public void info(String msg) {log(Log.LEVEL_INFO,msg);} 045 public void trace(String msg) {} 046 public void warn(String msg) {log(Log.LEVEL_WARN,msg);} 047 048 public void debug(String format, Object arg) {log(Log.LEVEL_DEBUG,format,arg);} 049 public void error(String format, Object arg) {log(Log.LEVEL_ERROR,format,arg);} 050 public void info(String format, Object arg) {log(Log.LEVEL_INFO,format,arg);} 051 public void trace(String format, Object arg) {} 052 public void warn(String format, Object arg) {log(Log.LEVEL_WARN,format,arg);} 053 054 public void debug(String format, Object arg1, Object arg2) {log(Log.LEVEL_DEBUG,format,arg1,arg2);} 055 public void error(String format, Object arg1, Object arg2) {log(Log.LEVEL_DEBUG,format,arg1,arg2);} 056 public void info(String format, Object arg1, Object arg2) {log(Log.LEVEL_DEBUG,format,arg1,arg2);} 057 public void trace(String format, Object arg1, Object arg2) {} 058 public void warn(String format, Object arg1, Object arg2) {log(Log.LEVEL_DEBUG,format,arg1,arg2);} 059 060 public void debug(String format, Object[] args) {log(Log.LEVEL_DEBUG,format,args);} 061 public void error(String format, Object[] args) {log(Log.LEVEL_DEBUG,format,args);} 062 public void info(String format, Object[] args) {log(Log.LEVEL_DEBUG,format,args);} 063 public void trace(String format, Object[] args) {} 064 public void warn(String format, Object[] args) {log(Log.LEVEL_DEBUG,format,args);} 065 066 public void debug(String msg, Throwable t) {log(Log.LEVEL_DEBUG,msg,t);} 067 public void error(String msg, Throwable t) {log(Log.LEVEL_DEBUG,msg,t);} 068 public void info(String msg, Throwable t) {log(Log.LEVEL_DEBUG,msg,t);} 069 public void trace(String msg, Throwable t) {} 070 public void warn(String msg, Throwable t) {log(Log.LEVEL_DEBUG,msg,t);} 071 072 private void log(int level, String msg) { 073 logger.log(level, _name, msg); 074 } 075 private void log(int level, String msg, Throwable t) { 076 LogUtil.log(logger,level, _name, msg,t); 077 } 078 079 private void log(int level, String format, Object arg) { 080 log(level, Caster.toString(arg,"")); 081 } 082 private void log(int level, String format, Object arg1, Object arg2) { 083 log(level, Caster.toString(arg1,"")+"\n"+Caster.toString(arg2,"")); 084 } 085 private void log(int level, String format, Object[] args) { 086 StringBuilder sb=new StringBuilder(); 087 for(int i=0;i<args.length;i++){ 088 sb.append(Caster.toString(args[i],"")); 089 sb.append("\n"); 090 } 091 log(level, sb.toString().trim()); 092 } 093 094 095 096 097 098 099 100 101 102 103 104 105 106 107 108 109 public boolean isDebugEnabled() { 110 return logger.getLogLevel()<=Log.LEVEL_DEBUG; 111 } 112 113 public boolean isErrorEnabled() { 114 return logger.getLogLevel()<=Log.LEVEL_ERROR; 115 } 116 117 public boolean isInfoEnabled() { 118 return logger.getLogLevel()<=Log.LEVEL_INFO; 119 } 120 121 public boolean isTraceEnabled() { 122 return false; 123 } 124 125 public boolean isWarnEnabled() { 126 return logger.getLogLevel()<=Log.LEVEL_WARN; 127 } 128 129 130 131 132 133 134 135 136 137 138 139 public void log(Marker marker, String arg1, int arg2, String arg3,Throwable arg4) { 140 // log(level, Caster.toString(arg1,"")+"\n"+Caster.toString(arg2,"")+"\n"+Caster.toString(arg3,"")); 141 } 142 143 public void log(Marker arg0, String arg1, int arg2, String arg3, 144 Object[] arg4, Throwable arg5) { 145 // TODO Auto-generated method stub 146 147 } 148 149}