18f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu/** 28f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * Copyright (c) 2004-2011 QOS.ch 38f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * All rights reserved. 48f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * 58f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * Permission is hereby granted, free of charge, to any person obtaining 68f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * a copy of this software and associated documentation files (the 78f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * "Software"), to deal in the Software without restriction, including 88f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * without limitation the rights to use, copy, modify, merge, publish, 98f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * distribute, sublicense, and/or sell copies of the Software, and to 108f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * permit persons to whom the Software is furnished to do so, subject to 118f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * the following conditions: 128f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * 138f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * The above copyright notice and this permission notice shall be 148f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * included in all copies or substantial portions of the Software. 158f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * 168f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 178f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 188f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 198f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 208f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 218f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 228f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 238f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * 248f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu */ 258f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcupackage org.slf4j.helpers; 268f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 278f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcuimport org.slf4j.Logger; 288f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcuimport org.slf4j.Marker; 298f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 308f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu/** 318f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * A logger implementation which logs via a delegate logger. By default, the delegate is a 328f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * {@link NOPLogger}. However, a different delegate can be set at anytime. 338f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * <p/> 348f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * See also the <a href="http://www.slf4j.org/codes.html#substituteLogger">relevant 358f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * error code</a> documentation. 368f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * 378f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * @author Chetan Mehrotra 388f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu */ 398f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcupublic class SubstituteLogger implements Logger { 408f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 418f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu private final String name; 428f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 438f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu private volatile Logger _delegate; 448f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 458f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public SubstituteLogger(String name) { 468f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu this.name = name; 478f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 488f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 498f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public String getName() { 508f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu return name; 518f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 528f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 538f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public boolean isTraceEnabled() { 548f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu return delegate().isTraceEnabled(); 558f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 568f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 578f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void trace(String msg) { 588f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().trace(msg); 598f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 608f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 618f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void trace(String format, Object arg) { 628f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().trace(format, arg); 638f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 648f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 658f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void trace(String format, Object arg1, Object arg2) { 668f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().trace(format, arg1, arg2); 678f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 688f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 698f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void trace(String format, Object... arguments) { 708f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().trace(format, arguments); 718f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 728f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 738f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void trace(String msg, Throwable t) { 748f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().trace(msg, t); 758f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 768f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 778f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public boolean isTraceEnabled(Marker marker) { 788f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu return delegate().isTraceEnabled(marker); 798f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 808f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 818f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void trace(Marker marker, String msg) { 828f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().trace(marker, msg); 838f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 848f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 858f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void trace(Marker marker, String format, Object arg) { 868f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().trace(marker, format, arg); 878f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 888f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 898f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void trace(Marker marker, String format, Object arg1, Object arg2) { 908f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().trace(marker, format, arg1, arg2); 918f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 928f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 938f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void trace(Marker marker, String format, Object... arguments) { 948f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().trace(marker, format, arguments); 958f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 968f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 978f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void trace(Marker marker, String msg, Throwable t) { 988f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().trace(marker, msg, t); 998f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 1008f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 1018f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public boolean isDebugEnabled() { 1028f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu return delegate().isDebugEnabled(); 1038f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 1048f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 1058f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void debug(String msg) { 1068f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().debug(msg); 1078f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 1088f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 1098f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void debug(String format, Object arg) { 1108f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().debug(format, arg); 1118f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 1128f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 1138f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void debug(String format, Object arg1, Object arg2) { 1148f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().debug(format, arg1, arg2); 1158f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 1168f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 1178f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void debug(String format, Object... arguments) { 1188f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().debug(format, arguments); 1198f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 1208f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 1218f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void debug(String msg, Throwable t) { 1228f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().debug(msg, t); 1238f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 1248f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 1258f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public boolean isDebugEnabled(Marker marker) { 1268f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu return delegate().isDebugEnabled(marker); 1278f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 1288f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 1298f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void debug(Marker marker, String msg) { 1308f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().debug(marker, msg); 1318f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 1328f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 1338f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void debug(Marker marker, String format, Object arg) { 1348f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().debug(marker, format, arg); 1358f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 1368f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 1378f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void debug(Marker marker, String format, Object arg1, Object arg2) { 1388f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().debug(marker, format, arg1, arg2); 1398f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 1408f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 1418f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void debug(Marker marker, String format, Object... arguments) { 1428f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().debug(marker, format, arguments); 1438f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 1448f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 1458f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void debug(Marker marker, String msg, Throwable t) { 1468f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().debug(marker, msg, t); 1478f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 1488f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 1498f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public boolean isInfoEnabled() { 1508f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu return delegate().isInfoEnabled(); 1518f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 1528f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 1538f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void info(String msg) { 1548f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().info(msg); 1558f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 1568f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 1578f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void info(String format, Object arg) { 1588f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().info(format, arg); 1598f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 1608f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 1618f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void info(String format, Object arg1, Object arg2) { 1628f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().info(format, arg1, arg2); 1638f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 1648f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 1658f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void info(String format, Object... arguments) { 1668f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().info(format, arguments); 1678f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 1688f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 1698f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void info(String msg, Throwable t) { 1708f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().info(msg, t); 1718f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 1728f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 1738f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public boolean isInfoEnabled(Marker marker) { 1748f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu return delegate().isInfoEnabled(marker); 1758f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 1768f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 1778f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void info(Marker marker, String msg) { 1788f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().info(marker, msg); 1798f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 1808f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 1818f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void info(Marker marker, String format, Object arg) { 1828f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().info(marker, format, arg); 1838f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 1848f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 1858f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void info(Marker marker, String format, Object arg1, Object arg2) { 1868f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().info(marker, format, arg1, arg2); 1878f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 1888f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 1898f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void info(Marker marker, String format, Object... arguments) { 1908f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().info(marker, format, arguments); 1918f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 1928f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 1938f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void info(Marker marker, String msg, Throwable t) { 1948f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().info(marker, msg, t); 1958f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 1968f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 1978f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public boolean isWarnEnabled() { 1988f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu return delegate().isWarnEnabled(); 1998f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 2008f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 2018f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void warn(String msg) { 2028f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().warn(msg); 2038f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 2048f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 2058f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void warn(String format, Object arg) { 2068f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().warn(format, arg); 2078f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 2088f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 2098f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void warn(String format, Object arg1, Object arg2) { 2108f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().warn(format, arg1, arg2); 2118f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 2128f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 2138f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void warn(String format, Object... arguments) { 2148f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().warn(format, arguments); 2158f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 2168f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 2178f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void warn(String msg, Throwable t) { 2188f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().warn(msg, t); 2198f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 2208f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 2218f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public boolean isWarnEnabled(Marker marker) { 2228f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu return delegate().isWarnEnabled(marker); 2238f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 2248f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 2258f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void warn(Marker marker, String msg) { 2268f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().warn(marker, msg); 2278f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 2288f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 2298f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void warn(Marker marker, String format, Object arg) { 2308f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().warn(marker, format, arg); 2318f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 2328f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 2338f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void warn(Marker marker, String format, Object arg1, Object arg2) { 2348f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().warn(marker, format, arg1, arg2); 2358f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 2368f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 2378f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void warn(Marker marker, String format, Object... arguments) { 2388f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().warn(marker, format, arguments); 2398f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 2408f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 2418f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void warn(Marker marker, String msg, Throwable t) { 2428f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().warn(marker, msg, t); 2438f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 2448f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 2458f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public boolean isErrorEnabled() { 2468f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu return delegate().isErrorEnabled(); 2478f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 2488f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 2498f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void error(String msg) { 2508f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().error(msg); 2518f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 2528f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 2538f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void error(String format, Object arg) { 2548f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().error(format, arg); 2558f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 2568f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 2578f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void error(String format, Object arg1, Object arg2) { 2588f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().error(format, arg1, arg2); 2598f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 2608f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 2618f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void error(String format, Object... arguments) { 2628f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().error(format, arguments); 2638f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 2648f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 2658f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void error(String msg, Throwable t) { 2668f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().error(msg, t); 2678f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 2688f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 2698f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public boolean isErrorEnabled(Marker marker) { 2708f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu return delegate().isErrorEnabled(marker); 2718f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 2728f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 2738f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void error(Marker marker, String msg) { 2748f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().error(marker, msg); 2758f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 2768f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 2778f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void error(Marker marker, String format, Object arg) { 2788f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().error(marker, format, arg); 2798f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 2808f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 2818f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void error(Marker marker, String format, Object arg1, Object arg2) { 2828f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().error(marker, format, arg1, arg2); 2838f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 2848f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 2858f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void error(Marker marker, String format, Object... arguments) { 2868f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().error(marker, format, arguments); 2878f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 2888f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 2898f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void error(Marker marker, String msg, Throwable t) { 2908f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu delegate().error(marker, msg, t); 2918f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 2928f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 2938f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu @Override 2948f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public boolean equals(Object o) { 29531212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu if (this == o) 29631212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu return true; 29731212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu if (o == null || getClass() != o.getClass()) 29831212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu return false; 2998f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 3008f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu SubstituteLogger that = (SubstituteLogger) o; 3018f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 30231212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu if (!name.equals(that.name)) 30331212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu return false; 3048f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 3058f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu return true; 3068f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 3078f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 3088f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu @Override 3098f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public int hashCode() { 3108f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu return name.hashCode(); 3118f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 3128f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 3138f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu /** 3148f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * Return the delegate logger instance if set. Otherwise, return a {@link NOPLogger} 3158f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * instance. 3168f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu */ 3178f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu Logger delegate() { 3188f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu return _delegate != null ? _delegate : NOPLogger.NOP_LOGGER; 3198f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 3208f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu 3218f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu /** 3228f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * Typically called after the {@link org.slf4j.LoggerFactory} initialization phase is completed. 3238f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu * @param delegate 3248f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu */ 3258f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu public void setDelegate(Logger delegate) { 3268f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu this._delegate = delegate; 3278f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu } 3288f28a83eb4f6b81dd46e53052e17df3aaf602347Ceki Gulcu} 329