--- /dev/null
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.log4j;
+
+import org.apache.log4j.spi.LoggingEvent;
+
+import java.text.DateFormat;
+import java.text.MessageFormat;
+import java.text.NumberFormat;
+import java.util.Date;
+import java.util.ResourceBundle;
+import java.util.Locale;
+
+
+/**
+ * This class provides parameterized logging services
+ * using the pattern syntax of java.text.MessageFormat.
+ * Message formatting is only performed when the
+ * request exceeds the threshold level of the logger.
+ * When the pattern only contains literal text and
+ * default conversion patterns (that is "{0}" and similar)
+ * a simple fast compatible formatter is used.
+ * If the pattern contains more complex conversion patterns,
+ * formatting will be delegated to java.text.MessageFormatter
+ * which can be substantially slower.
+ *
+ * @see org.apache.log4j.LogSF
+ * @since 1.2.16
+ *
+ */
+public final class LogMF extends LogXF {
+ /**
+ * private constructor.
+ *
+ */
+ private LogMF() {
+ }
+
+ /**
+ * Number format.
+ */
+ private static NumberFormat numberFormat = null;
+ /**
+ * Locale at time of last number format request.
+ */
+ private static Locale numberLocale = null;
+ /**
+ * Date format.
+ */
+ private static DateFormat dateFormat = null;
+ /**
+ * Locale at time of last date format request.
+ */
+ private static Locale dateLocale = null;
+
+ /**
+ * Format number.
+ * @param n number to format, may not be null.
+ * @return formatted value.
+ */
+ private static synchronized String formatNumber(final Object n) {
+ Locale currentLocale = Locale.getDefault();
+ if (currentLocale != numberLocale || numberFormat == null) {
+ numberLocale = currentLocale;
+ numberFormat = NumberFormat.getInstance(currentLocale);
+ }
+ return numberFormat.format(n);
+ }
+
+
+ /**
+ * Format date.
+ * @param d date, may not be null.
+ * @return formatted value.
+ */
+ private static synchronized String formatDate(final Object d) {
+ Locale currentLocale = Locale.getDefault();
+ if (currentLocale != dateLocale || dateFormat == null) {
+ dateLocale = currentLocale;
+ dateFormat = DateFormat.getDateTimeInstance(
+ DateFormat.SHORT,
+ DateFormat.SHORT,
+ currentLocale);
+ }
+ return dateFormat.format(d);
+ }
+
+ /**
+ * Format a single parameter like a "{0}" formatting specifier.
+ *
+ * @param arg0 parameter, may be null.
+ * @return string representation of arg0.
+ */
+ private static String formatObject(final Object arg0) {
+ if (arg0 instanceof String) {
+ return arg0.toString();
+ } else if (arg0 instanceof Double ||
+ arg0 instanceof Float) {
+ return formatNumber(arg0);
+ } else if (arg0 instanceof Date) {
+ return formatDate(arg0);
+ }
+ return String.valueOf(arg0);
+ }
+
+
+ /**
+ * Determines if pattern contains only {n} format elements
+ * and not apostrophes.
+ *
+ * @param pattern pattern, may not be null.
+ * @return true if pattern only contains {n} format elements.
+ */
+ private static boolean isSimple(final String pattern) {
+ if (pattern.indexOf('\'') != -1) {
+ return false;
+ }
+ for(int pos = pattern.indexOf('{');
+ pos != -1;
+ pos = pattern.indexOf('{', pos + 1)) {
+ if (pos + 2 >= pattern.length() ||
+ pattern.charAt(pos+2) != '}' ||
+ pattern.charAt(pos+1) < '0' ||
+ pattern.charAt(pos+1) > '9') {
+ return false;
+ }
+ }
+ return true;
+
+ }
+
+ /**
+ * Formats arguments using MessageFormat.
+ * @param pattern pattern, may be malformed or null.
+ * @param arguments arguments, may be null or mismatched.
+ * @return Message string or null
+ */
+ private static String format(final String pattern,
+ final Object[] arguments) {
+ if (pattern == null) {
+ return null;
+ } else if(isSimple(pattern)) {
+ String formatted[] = new String[10];
+ int prev = 0;
+ String retval = "";
+ int pos = pattern.indexOf('{');
+ while(pos >= 0) {
+ if(pos + 2 < pattern.length() &&
+ pattern.charAt(pos+2) == '}' &&
+ pattern.charAt(pos+1) >= '0' &&
+ pattern.charAt(pos+1) <= '9') {
+ int index = pattern.charAt(pos+1) - '0';
+ retval += pattern.substring(prev, pos);
+ if (formatted[index] == null) {
+ if (arguments == null || index >= arguments.length) {
+ formatted[index] = pattern.substring(pos, pos+3);
+ } else {
+ formatted[index] = formatObject(arguments[index]);
+ }
+ }
+ retval += formatted[index];
+ prev = pos + 3;
+ pos = pattern.indexOf('{', prev);
+ } else {
+ pos = pattern.indexOf('{', pos + 1);
+ }
+ }
+ retval += pattern.substring(prev);
+ return retval;
+ }
+ try {
+ return MessageFormat.format(pattern, arguments);
+ } catch (IllegalArgumentException ex) {
+ return pattern;
+ }
+ }
+
+ /**
+ * Formats a single argument using MessageFormat.
+ * @param pattern pattern, may be malformed or null.
+ * @param arguments arguments, may be null or mismatched.
+ * @return Message string or null
+ */
+ private static String format(final String pattern,
+ final Object arg0) {
+ if (pattern == null) {
+ return null;
+ } else if(isSimple(pattern)) {
+ String formatted = null;
+ int prev = 0;
+ String retval = "";
+ int pos = pattern.indexOf('{');
+ while(pos >= 0) {
+ if(pos + 2 < pattern.length() &&
+ pattern.charAt(pos+2) == '}' &&
+ pattern.charAt(pos+1) >= '0' &&
+ pattern.charAt(pos+1) <= '9') {
+ int index = pattern.charAt(pos+1) - '0';
+ retval += pattern.substring(prev, pos);
+ if (index != 0) {
+ retval += pattern.substring(pos, pos+3);
+ } else {
+ if (formatted == null) {
+ formatted = formatObject(arg0);
+ }
+ retval += formatted;
+ }
+ prev = pos + 3;
+ pos = pattern.indexOf('{', prev);
+ } else {
+ pos = pattern.indexOf('{', pos + 1);
+ }
+ }
+ retval += pattern.substring(prev);
+ return retval;
+ }
+ try {
+ return MessageFormat.format(pattern, new Object[] { arg0 });
+ } catch (IllegalArgumentException ex) {
+ return pattern;
+ }
+ }
+
+
+ /**
+ * Formats arguments using MessageFormat using a pattern from
+ * a resource bundle.
+ * @param resourceBundleName name of resource bundle, may be null.
+ * @param key key for pattern in resource bundle, may be null.
+ * @param arguments arguments, may be null or mismatched.
+ * @return Message string or null
+ */
+ private static String format(
+ final String resourceBundleName,
+ final String key,
+ final Object[] arguments) {
+ String pattern;
+ if (resourceBundleName != null) {
+ try {
+ ResourceBundle bundle =
+ ResourceBundle.getBundle(resourceBundleName);
+ pattern = bundle.getString(key);
+ } catch (Exception ex) {
+ pattern = key;
+ }
+ } else {
+ pattern = key;
+ }
+ return format(pattern, arguments);
+ }
+
+
+ /**
+ * Fully Qualified Class Name of this class.
+ */
+ private static final String FQCN = LogMF.class.getName();
+
+ /**
+ * Equivalent of Logger.forcedLog.
+ *
+ * @param logger logger, may not be null.
+ * @param level level, may not be null.
+ * @param msg message, may be null.
+ */
+ private static void forcedLog(final Logger logger,
+ final Level level,
+ final String msg) {
+ logger.callAppenders(new LoggingEvent(FQCN, logger, level, msg, null));
+ }
+
+ /**
+ * Equivalent of Logger.forcedLog.
+ *
+ * @param logger logger, may not be null.
+ * @param level level, may not be null.
+ * @param msg message, may be null.
+ * @param t throwable.
+ */
+ private static void forcedLog(final Logger logger,
+ final Level level,
+ final String msg,
+ final Throwable t) {
+ logger.callAppenders(new LoggingEvent(FQCN, logger, level, msg, t));
+ }
+ /**
+ * Log a parameterized message at trace level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param arguments an array of arguments to be
+ * formatted and substituted.
+ */
+ public static void trace(final Logger logger, final String pattern,
+ final Object[] arguments) {
+ if (logger.isEnabledFor(TRACE)) {
+ forcedLog(logger, TRACE, format(pattern, arguments));
+ }
+ }
+
+ /**
+ * Log a parameterized message at debug level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param arguments an array of arguments to be formatted and substituted.
+ */
+ public static void debug(final Logger logger, final String pattern,
+ final Object[] arguments) {
+ if (logger.isDebugEnabled()) {
+ forcedLog(logger, Level.DEBUG, format(pattern, arguments));
+ }
+ }
+
+ /**
+ * Log a parameterized message at info level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param arguments an array of arguments to be formatted and substituted.
+ */
+ public static void info(final Logger logger, final String pattern,
+ final Object[] arguments) {
+ if (logger.isInfoEnabled()) {
+ forcedLog(logger, Level.INFO, format(pattern, arguments));
+ }
+ }
+
+ /**
+ * Log a parameterized message at warn level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param arguments an array of arguments to be formatted and substituted.
+ */
+ public static void warn(final Logger logger, final String pattern,
+ final Object[] arguments) {
+ if (logger.isEnabledFor(Level.WARN)) {
+ forcedLog(logger, Level.WARN, format(pattern, arguments));
+ }
+ }
+
+ /**
+ * Log a parameterized message at error level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param arguments an array of arguments to be formatted and substituted.
+ */
+ public static void error(final Logger logger, final String pattern,
+ final Object[] arguments) {
+ if (logger.isEnabledFor(Level.ERROR)) {
+ forcedLog(logger, Level.ERROR, format(pattern, arguments));
+ }
+ }
+
+ /**
+ * Log a parameterized message at fatal level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param arguments an array of arguments to be formatted and substituted.
+ */
+ public static void fatal(final Logger logger, final String pattern,
+ final Object[] arguments) {
+ if (logger.isEnabledFor(Level.FATAL)) {
+ forcedLog(logger, Level.FATAL, format(pattern, arguments));
+ }
+ }
+
+ /**
+ * Log a parameterized message at trace level.
+ * @param logger logger, may not be null.
+ * @param t throwable, may be null.
+ * @param pattern pattern, may be null.
+ * @param arguments an array of arguments to be
+ * formatted and substituted.
+ */
+ public static void trace(final Logger logger,
+ final Throwable t,
+ final String pattern,
+ final Object[] arguments) {
+ if (logger.isEnabledFor(TRACE)) {
+ forcedLog(logger, TRACE, format(pattern, arguments), t);
+ }
+ }
+
+ /**
+ * Log a parameterized message at debug level.
+ * @param logger logger, may not be null.
+ * @param t throwable, may be null.
+ * @param pattern pattern, may be null.
+ * @param arguments an array of arguments to be formatted and substituted.
+ */
+ public static void debug(final Logger logger,
+ final Throwable t,
+ final String pattern,
+ final Object[] arguments) {
+ if (logger.isDebugEnabled()) {
+ forcedLog(logger, Level.DEBUG, format(pattern, arguments), t);
+ }
+ }
+
+ /**
+ * Log a parameterized message at info level.
+ * @param logger logger, may not be null.
+ * @param t throwable, may be null.
+ * @param pattern pattern, may be null.
+ * @param arguments an array of arguments to be formatted and substituted.
+ */
+ public static void info(final Logger logger,
+ final Throwable t,
+ final String pattern,
+ final Object[] arguments) {
+ if (logger.isInfoEnabled()) {
+ forcedLog(logger, Level.INFO, format(pattern, arguments), t);
+ }
+ }
+
+ /**
+ * Log a parameterized message at warn level.
+ * @param logger logger, may not be null.
+ * @param t throwable, may be null.
+ * @param pattern pattern, may be null.
+ * @param arguments an array of arguments to be formatted and substituted.
+ */
+ public static void warn(final Logger logger,
+ final Throwable t,
+ final String pattern,
+ final Object[] arguments) {
+ if (logger.isEnabledFor(Level.WARN)) {
+ forcedLog(logger, Level.WARN, format(pattern, arguments), t);
+ }
+ }
+
+ /**
+ * Log a parameterized message at error level.
+ * @param logger logger, may not be null.
+ * @param t throwable, may be null.
+ * @param pattern pattern, may be null.
+ * @param arguments an array of arguments to be formatted and substituted.
+ */
+ public static void error(final Logger logger,
+ final Throwable t,
+ final String pattern,
+ final Object[] arguments) {
+ if (logger.isEnabledFor(Level.ERROR)) {
+ forcedLog(logger, Level.ERROR, format(pattern, arguments), t);
+ }
+ }
+
+ /**
+ * Log a parameterized message at fatal level.
+ * @param logger logger, may not be null.
+ * @param t throwable, may be null.
+ * @param pattern pattern, may be null.
+ * @param arguments an array of arguments to be formatted and substituted.
+ */
+ public static void fatal(final Logger logger,
+ final Throwable t,
+ final String pattern,
+ final Object[] arguments) {
+ if (logger.isEnabledFor(Level.FATAL)) {
+ forcedLog(logger, Level.FATAL, format(pattern, arguments), t);
+ }
+ }
+
+
+
+ /**
+ * Log a parameterized message at trace level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void trace(final Logger logger, final String pattern,
+ final boolean argument) {
+ if (logger.isEnabledFor(TRACE)) {
+ forcedLog(logger, TRACE, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at trace level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void trace(final Logger logger, final String pattern,
+ final char argument) {
+ if (logger.isEnabledFor(TRACE)) {
+ forcedLog(logger, TRACE, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at trace level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void trace(final Logger logger, final String pattern,
+ final byte argument) {
+ if (logger.isEnabledFor(TRACE)) {
+ forcedLog(logger, TRACE, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at trace level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void trace(final Logger logger, final String pattern,
+ final short argument) {
+ if (logger.isEnabledFor(TRACE)) {
+ forcedLog(logger, TRACE, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at trace level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void trace(final Logger logger, final String pattern,
+ final int argument) {
+ if (logger.isEnabledFor(TRACE)) {
+ forcedLog(logger, TRACE, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at trace level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void trace(final Logger logger, final String pattern,
+ final long argument) {
+ if (logger.isEnabledFor(TRACE)) {
+ forcedLog(logger, TRACE, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at trace level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void trace(final Logger logger, final String pattern,
+ final float argument) {
+ if (logger.isEnabledFor(TRACE)) {
+ forcedLog(logger, TRACE, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at trace level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void trace(final Logger logger, final String pattern,
+ final double argument) {
+ if (logger.isEnabledFor(TRACE)) {
+ forcedLog(logger, TRACE, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at trace level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void trace(final Logger logger, final String pattern,
+ final Object argument) {
+ if (logger.isEnabledFor(TRACE)) {
+ forcedLog(logger, TRACE, format(pattern, argument));
+ }
+ }
+
+ /**
+ * Log a parameterized message at trace level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param arg0 a value to be formatted and substituted.
+ * @param arg1 a value to be formatted and substituted.
+ */
+ public static void trace(final Logger logger, final String pattern,
+ final Object arg0, final Object arg1) {
+ if (logger.isEnabledFor(TRACE)) {
+ forcedLog(logger, TRACE,
+ format(pattern, toArray(arg0, arg1)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at trace level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param arg0 a value to be formatted and substituted.
+ * @param arg1 a value to be formatted and substituted.
+ * @param arg2 a value to be formatted and substituted.
+ */
+ public static void trace(final Logger logger, final String pattern,
+ final Object arg0, final Object arg1, final Object arg2) {
+ if (logger.isEnabledFor(TRACE)) {
+ forcedLog(logger, TRACE,
+ format(pattern, toArray(arg0, arg1, arg2)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at trace level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param arg0 a value to be formatted and substituted.
+ * @param arg1 a value to be formatted and substituted.
+ * @param arg2 a value to be formatted and substituted.
+ * @param arg3 a value to be formatted and substituted.
+ */
+ public static void trace(final Logger logger, final String pattern,
+ final Object arg0, final Object arg1, final Object arg2,
+ final Object arg3) {
+ if (logger.isEnabledFor(TRACE)) {
+ forcedLog(logger, TRACE,
+ format(pattern, toArray(arg0, arg1, arg2, arg3)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at debug level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void debug(final Logger logger, final String pattern,
+ final boolean argument) {
+ if (logger.isDebugEnabled()) {
+ forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at debug level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void debug(final Logger logger, final String pattern,
+ final char argument) {
+ if (logger.isDebugEnabled()) {
+ forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at debug level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void debug(final Logger logger, final String pattern,
+ final byte argument) {
+ if (logger.isDebugEnabled()) {
+ forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at debug level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void debug(final Logger logger, final String pattern,
+ final short argument) {
+ if (logger.isDebugEnabled()) {
+ forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at debug level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void debug(final Logger logger, final String pattern,
+ final int argument) {
+ if (logger.isDebugEnabled()) {
+ forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at debug level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void debug(final Logger logger, final String pattern,
+ final long argument) {
+ if (logger.isDebugEnabled()) {
+ forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at debug level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void debug(final Logger logger, final String pattern,
+ final float argument) {
+ if (logger.isDebugEnabled()) {
+ forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at debug level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void debug(final Logger logger, final String pattern,
+ final double argument) {
+ if (logger.isDebugEnabled()) {
+ forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at debug level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void debug(final Logger logger, final String pattern,
+ final Object argument) {
+ if (logger.isDebugEnabled()) {
+ forcedLog(logger, Level.DEBUG, format(pattern, argument));
+ }
+ }
+
+ /**
+ * Log a parameterized message at debug level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param arg0 a value to be formatted and substituted.
+ * @param arg1 a value to be formatted and substituted.
+ */
+ public static void debug(final Logger logger, final String pattern,
+ final Object arg0, final Object arg1) {
+ if (logger.isDebugEnabled()) {
+ forcedLog(logger, Level.DEBUG,
+ format(pattern, toArray(arg0, arg1)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at debug level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param arg0 a value to be formatted and substituted.
+ * @param arg1 a value to be formatted and substituted.
+ * @param arg2 a value to be formatted and substituted.
+ */
+ public static void debug(final Logger logger, final String pattern,
+ final Object arg0, final Object arg1, final Object arg2) {
+ if (logger.isDebugEnabled()) {
+ forcedLog(logger, Level.DEBUG,
+ format(pattern, toArray(arg0, arg1, arg2)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at debug level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param arg0 a value to be formatted and substituted.
+ * @param arg1 a value to be formatted and substituted.
+ * @param arg2 a value to be formatted and substituted.
+ * @param arg3 a value to be formatted and substituted.
+ */
+ public static void debug(final Logger logger, final String pattern,
+ final Object arg0, final Object arg1, final Object arg2,
+ final Object arg3) {
+ if (logger.isDebugEnabled()) {
+ forcedLog(logger, Level.DEBUG,
+ format(pattern, toArray(arg0, arg1, arg2, arg3)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at info level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void info(final Logger logger, final String pattern,
+ final boolean argument) {
+ if (logger.isInfoEnabled()) {
+ forcedLog(logger, Level.INFO, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at info level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void info(final Logger logger, final String pattern,
+ final char argument) {
+ if (logger.isInfoEnabled()) {
+ forcedLog(logger, Level.INFO, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at info level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void info(final Logger logger, final String pattern,
+ final byte argument) {
+ if (logger.isInfoEnabled()) {
+ forcedLog(logger, Level.INFO, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at info level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void info(final Logger logger, final String pattern,
+ final short argument) {
+ if (logger.isInfoEnabled()) {
+ forcedLog(logger, Level.INFO, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at info level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void info(final Logger logger, final String pattern,
+ final int argument) {
+ if (logger.isInfoEnabled()) {
+ forcedLog(logger, Level.INFO, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at info level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void info(final Logger logger, final String pattern,
+ final long argument) {
+ if (logger.isInfoEnabled()) {
+ forcedLog(logger, Level.INFO, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at info level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void info(final Logger logger, final String pattern,
+ final float argument) {
+ if (logger.isInfoEnabled()) {
+ forcedLog(logger, Level.INFO, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at info level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void info(final Logger logger, final String pattern,
+ final double argument) {
+ if (logger.isInfoEnabled()) {
+ forcedLog(logger, Level.INFO, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at info level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void info(final Logger logger, final String pattern,
+ final Object argument) {
+ if (logger.isInfoEnabled()) {
+ forcedLog(logger, Level.INFO, format(pattern, argument));
+ }
+ }
+
+ /**
+ * Log a parameterized message at info level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param arg0 a value to be formatted and substituted.
+ * @param arg1 a value to be formatted and substituted.
+ */
+ public static void info(final Logger logger, final String pattern,
+ final Object arg0, final Object arg1) {
+ if (logger.isInfoEnabled()) {
+ forcedLog(logger, Level.INFO, format(pattern, toArray(arg0, arg1)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at info level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param arg0 a value to be formatted and substituted.
+ * @param arg1 a value to be formatted and substituted.
+ * @param arg2 a value to be formatted and substituted.
+ */
+ public static void info(final Logger logger, final String pattern,
+ final Object arg0, final Object arg1, final Object arg2) {
+ if (logger.isInfoEnabled()) {
+ forcedLog(logger, Level.INFO, format(pattern,
+ toArray(arg0, arg1, arg2)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at info level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param arg0 a value to be formatted and substituted.
+ * @param arg1 a value to be formatted and substituted.
+ * @param arg2 a value to be formatted and substituted.
+ * @param arg3 a value to be formatted and substituted.
+ */
+ public static void info(final Logger logger, final String pattern,
+ final Object arg0, final Object arg1, final Object arg2,
+ final Object arg3) {
+ if (logger.isInfoEnabled()) {
+ forcedLog(logger, Level.INFO, format(pattern,
+ toArray(arg0, arg1, arg2, arg3)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at warn level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void warn(final Logger logger, final String pattern,
+ final boolean argument) {
+ if (logger.isEnabledFor(Level.WARN)) {
+ forcedLog(logger, Level.WARN, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at warn level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void warn(final Logger logger, final String pattern,
+ final char argument) {
+ if (logger.isEnabledFor(Level.WARN)) {
+ forcedLog(logger, Level.WARN, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at warn level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void warn(final Logger logger, final String pattern,
+ final byte argument) {
+ if (logger.isEnabledFor(Level.WARN)) {
+ forcedLog(logger, Level.WARN, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at warn level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void warn(final Logger logger, final String pattern,
+ final short argument) {
+ if (logger.isEnabledFor(Level.WARN)) {
+ forcedLog(logger, Level.WARN, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at warn level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void warn(final Logger logger, final String pattern,
+ final int argument) {
+ if (logger.isEnabledFor(Level.WARN)) {
+ forcedLog(logger, Level.WARN, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at warn level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void warn(final Logger logger, final String pattern,
+ final long argument) {
+ if (logger.isEnabledFor(Level.WARN)) {
+ forcedLog(logger, Level.WARN, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at warn level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void warn(final Logger logger, final String pattern,
+ final float argument) {
+ if (logger.isEnabledFor(Level.WARN)) {
+ forcedLog(logger, Level.WARN, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at warn level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void warn(final Logger logger, final String pattern,
+ final double argument) {
+ if (logger.isEnabledFor(Level.WARN)) {
+ forcedLog(logger, Level.WARN, format(pattern, valueOf(argument)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at warn level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param argument a value to be formatted and substituted.
+ */
+ public static void warn(final Logger logger, final String pattern,
+ final Object argument) {
+ if (logger.isEnabledFor(Level.WARN)) {
+ forcedLog(logger, Level.WARN, format(pattern, argument));
+ }
+ }
+
+ /**
+ * Log a parameterized message at warn level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param arg0 a value to be formatted and substituted.
+ * @param arg1 a value to be formatted and substituted.
+ */
+ public static void warn(final Logger logger, final String pattern,
+ final Object arg0, final Object arg1) {
+ if (logger.isEnabledFor(Level.WARN)) {
+ forcedLog(logger, Level.WARN,
+ format(pattern, toArray(arg0, arg1)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at warn level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param arg0 a value to be formatted and substituted.
+ * @param arg1 a value to be formatted and substituted.
+ * @param arg2 a value to be formatted and substituted.
+ */
+ public static void warn(final Logger logger, final String pattern,
+ final Object arg0, final Object arg1, final Object arg2) {
+ if (logger.isEnabledFor(Level.WARN)) {
+ forcedLog(logger, Level.WARN,
+ format(pattern, toArray(arg0, arg1, arg2)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at warn level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param arg0 a value to be formatted and substituted.
+ * @param arg1 a value to be formatted and substituted.
+ * @param arg2 a value to be formatted and substituted.
+ * @param arg3 a value to be formatted and substituted.
+ */
+ public static void warn(final Logger logger, final String pattern,
+ final Object arg0, final Object arg1, final Object arg2,
+ final Object arg3) {
+ if (logger.isEnabledFor(Level.WARN)) {
+ forcedLog(logger, Level.WARN, format(pattern,
+ toArray(arg0, arg1, arg2, arg3)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at specified level.
+ * @param logger logger, may not be null.
+ * @param level level, may not be null.
+ * @param pattern pattern, may be null.
+ * @param parameters parameters to the log message.
+ */
+ public static void log(final Logger logger,
+ final Level level,
+ final String pattern,
+ final Object[] parameters) {
+ if (logger.isEnabledFor(level)) {
+ forcedLog(logger, level,
+ format(pattern, parameters));
+ }
+ }
+
+ /**
+ * Log a parameterized message at specified level.
+ * @param logger logger, may not be null.
+ * @param level level, may not be null.
+ * @param t throwable, may be null.
+ * @param pattern pattern, may be null.
+ * @param parameters parameters to the log message.
+ */
+ public static void log(final Logger logger,
+ final Level level,
+ final Throwable t,
+ final String pattern,
+ final Object[] parameters) {
+ if (logger.isEnabledFor(level)) {
+ forcedLog(logger, level,
+ format(pattern, parameters), t);
+ }
+ }
+
+ /**
+ * Log a parameterized message at specified level.
+ * @param logger logger, may not be null.
+ * @param level level, may not be null.
+ * @param pattern pattern, may be null.
+ * @param param1 parameter to the log message.
+ */
+ public static void log(final Logger logger,
+ final Level level,
+ final String pattern,
+ final Object param1) {
+ if (logger.isEnabledFor(level)) {
+ forcedLog(logger, level,
+ format(pattern, toArray(param1)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at specified level.
+ * @param logger logger, may not be null.
+ * @param level level, may not be null.
+ * @param pattern pattern, may be null.
+ * @param param1 parameter to the log message.
+ */
+ public static void log(final Logger logger,
+ final Level level,
+ final String pattern,
+ final boolean param1) {
+ if (logger.isEnabledFor(level)) {
+ forcedLog(logger, level,
+ format(pattern, toArray(valueOf(param1))));
+ }
+ }
+
+
+ /**
+ * Log a parameterized message at specified level.
+ * @param logger logger, may not be null.
+ * @param level level, may not be null.
+ * @param pattern pattern, may be null.
+ * @param param1 parameter to the log message.
+ */
+ public static void log(final Logger logger,
+ final Level level,
+ final String pattern,
+ final byte param1) {
+ if (logger.isEnabledFor(level)) {
+ forcedLog(logger, level,
+ format(pattern, toArray(valueOf(param1))));
+ }
+ }
+
+
+ /**
+ * Log a parameterized message at specified level.
+ * @param logger logger, may not be null.
+ * @param level level, may not be null.
+ * @param pattern pattern, may be null.
+ * @param param1 parameter to the log message.
+ */
+ public static void log(final Logger logger,
+ final Level level,
+ final String pattern,
+ final char param1) {
+ if (logger.isEnabledFor(level)) {
+ forcedLog(logger, level,
+ format(pattern, toArray(valueOf(param1))));
+ }
+ }
+
+ /**
+ * Log a parameterized message at specified level.
+ * @param logger logger, may not be null.
+ * @param level level, may not be null.
+ * @param pattern pattern, may be null.
+ * @param param1 parameter to the log message.
+ */
+ public static void log(final Logger logger,
+ final Level level,
+ final String pattern,
+ final short param1) {
+ if (logger.isEnabledFor(level)) {
+ forcedLog(logger, level,
+ format(pattern, toArray(valueOf(param1))));
+ }
+ }
+
+ /**
+ * Log a parameterized message at specified level.
+ * @param logger logger, may not be null.
+ * @param level level, may not be null.
+ * @param pattern pattern, may be null.
+ * @param param1 parameter to the log message.
+ */
+ public static void log(final Logger logger,
+ final Level level,
+ final String pattern,
+ final int param1) {
+ if (logger.isEnabledFor(level)) {
+ forcedLog(logger, level,
+ format(pattern, toArray(valueOf(param1))));
+ }
+ }
+
+
+ /**
+ * Log a parameterized message at specified level.
+ * @param logger logger, may not be null.
+ * @param level level, may not be null.
+ * @param pattern pattern, may be null.
+ * @param param1 parameter to the log message.
+ */
+ public static void log(final Logger logger,
+ final Level level,
+ final String pattern,
+ final long param1) {
+ if (logger.isEnabledFor(level)) {
+ forcedLog(logger, level,
+ format(pattern, toArray(valueOf(param1))));
+ }
+ }
+
+
+ /**
+ * Log a parameterized message at specified level.
+ * @param logger logger, may not be null.
+ * @param level level, may not be null.
+ * @param pattern pattern, may be null.
+ * @param param1 parameter to the log message.
+ */
+ public static void log(final Logger logger,
+ final Level level,
+ final String pattern,
+ final float param1) {
+ if (logger.isEnabledFor(level)) {
+ forcedLog(logger, level,
+ format(pattern, toArray(valueOf(param1))));
+ }
+ }
+
+
+ /**
+ * Log a parameterized message at specified level.
+ * @param logger logger, may not be null.
+ * @param level level, may not be null.
+ * @param pattern pattern, may be null.
+ * @param param1 parameter to the log message.
+ */
+ public static void log(final Logger logger,
+ final Level level,
+ final String pattern,
+ final double param1) {
+ if (logger.isEnabledFor(level)) {
+ forcedLog(logger, level,
+ format(pattern, toArray(valueOf(param1))));
+ }
+ }
+
+
+ /**
+ * Log a parameterized message at specified level.
+ * @param logger logger, may not be null.
+ * @param level level, may not be null.
+ * @param pattern pattern, may be null.
+ * @param arg0 a value to be formatted and substituted.
+ * @param arg1 a value to be formatted and substituted.
+ */
+ public static void log(final Logger logger,
+ final Level level,
+ final String pattern,
+ final Object arg0, final Object arg1) {
+ if (logger.isEnabledFor(level)) {
+ forcedLog(logger, level,
+ format(pattern, toArray(arg0, arg1)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at specifed level.
+ * @param logger logger, may not be null.
+ * @param level level, may not be null.
+ * @param pattern pattern, may be null.
+ * @param arg0 a value to be formatted and substituted.
+ * @param arg1 a value to be formatted and substituted.
+ * @param arg2 a value to be formatted and substituted.
+ */
+ public static void log(final Logger logger,
+ final Level level,
+ final String pattern,
+ final Object arg0, final Object arg1, final Object arg2) {
+ if (logger.isEnabledFor(level)) {
+ forcedLog(logger, level,
+ format(pattern, toArray(arg0, arg1, arg2)));
+ }
+ }
+
+ /**
+ * Log a parameterized message at specified level.
+ * @param logger logger, may not be null.
+ * @param pattern pattern, may be null.
+ * @param level level, may not be null.
+ * @param arg0 a value to be formatted and substituted.
+ * @param arg1 a value to be formatted and substituted.
+ * @param arg2 a value to be formatted and substituted.
+ * @param arg3 a value to be formatted and substituted.
+ */
+ public static void log(final Logger logger,
+ final Level level,
+ final String pattern,
+ final Object arg0, final Object arg1, final Object arg2,
+ final Object arg3) {
+ if (logger.isEnabledFor(level)) {
+ forcedLog(logger, level, format(pattern,
+ toArray(arg0, arg1, arg2, arg3)));
+ }
+ }
+
+
+ /**
+ * Log a parameterized message using a pattern from a resource bundle.
+ * @param logger logger, may not be null.
+ * @param level level, may not be null.
+ * @param bundleName resource bundle name, may be null.
+ * @param key key, may be null.
+ * @param parameters parameters to the log message.
+ */
+ public static void logrb(final Logger logger,
+ final Level level,
+ final String bundleName,
+ final String key,
+ final Object[] parameters) {
+ if (logger.isEnabledFor(level)) {
+ forcedLog(logger, level,
+ format(bundleName, key, parameters));
+ }
+ }
+
+ /**
+ * Log a parameterized message using a pattern from a resource bundle.
+ * @param logger logger, may not be null.
+ * @param level level, may not be null.
+ * @param t throwable, may be null.
+ * @param bundleName resource bundle name, may be null.
+ * @param key key, may be null.
+ * @param parameters parameters to the log message.
+ */
+ public static void logrb(final Logger logger,
+ final Level level,
+ final Throwable t,
+ final String bundleName,
+ final String key,
+ final Object[] parameters) {
+ if (logger.isEnabledFor(level)) {
+ forcedLog(logger, level,
+ format(bundleName, key, parameters), t);
+ }
+ }
+
+ /**
+ * Log a parameterized message using a pattern from a resource bundle.
+ * @param logger logger, may not be null.
+ * @param level level, may not be null.
+ * @param bundleName resource bundle name, may be null.
+ * @param key key, may be null.
+ * @param param1 Parameter to the log message.
+ */
+ public static void logrb(final Logger logger,
+ final Level level,
+ final String bundleName,
+ final String key,
+ final Object param1) {
+ if (logger.isEnabledFor(level)) {
+ forcedLog(logger, level,
+ format(bundleName, key, toArray(param1)));
+ }
+ }
+
+ /**
+ * Log a parameterized message using a pattern from a resource bundle.
+ * @param logger logger, may not be null.
+ * @param level level, may not be null.
+ * @param bundleName resource bundle name, may be null.
+ * @param key key, may be null.
+ * @param param1 Parameter to the log message.
+ */
+ public static void logrb(final Logger logger,
+ final Level level,
+ final String bundleName,
+ final String key,
+ final boolean param1) {
+ if (logger.isEnabledFor(level)) {
+ forcedLog(logger, level,
+ format(bundleName, key, toArray(valueOf(param1))));
+ }
+ }
+
+ /**
+ * Log a parameterized message using a pattern from a resource bundle.
+ * @param logger logger, may not be null.
+ * @param level level, may not be null.
+ * @param bundleName resource bundle name, may be null.
+ * @param key key, may be null.
+ * @param param1 Parameter to the log message.
+ */
+ public static void logrb(final Logger logger,
+ final Level level,
+ final String bundleName,
+ final String key,
+ final char param1) {
+ if (logger.isEnabledFor(level)) {
+ forcedLog(logger, level,
+ format(bundleName, key, toArray(valueOf(param1))));
+ }
+ }
+
+ /**
+ * Log a parameterized message using a pattern from a resource bundle.
+ * @param logger logger, may not be null.
+ * @param level level, may not be null.
+ * @param bundleName resource bundle name, may be null.
+ * @param key key, may be null.
+ * @param param1 Parameter to the log message.
+ */
+ public static void logrb(final Logger logger,
+ final Level level,
+ final String bundleName,
+ final String key,
+ final byte param1) {
+ if (logger.isEnabledFor(level)) {
+ forcedLog(logger, level,
+ format(bundleName, key, toArray(valueOf(param1))));
+ }
+ }
+
+ /**
+ * Log a parameterized message using a pattern from a resource bundle.
+ * @param logger logger, may not be null.
+ * @param level level, may not be null.
+ * @param bundleName resource bundle name, may be null.
+ * @param key key, may be null.
+ * @param param1 Parameter to the log message.
+ */
+ public static void logrb(final Logger logger,
+ final Level level,
+ final String bundleName,
+ final String key,
+ final short param1) {
+ if (logger.isEnabledFor(level)) {
+ forcedLog(logger, level,
+ format(bundleName, key, toArray(valueOf(param1))));
+ }
+ }
+
+ /**
+ * Log a parameterized message using a pattern from a resource bundle.
+ * @param logger logger, may not be null.
+ * @param level level, may not be null.
+ * @param bundleName resource bundle name, may be null.
+ * @param key key, may be null.
+ * @param param1 Parameter to the log message.
+ */
+ public static void logrb(final Logger logger,
+ final Level level,
+ final String bundleName,
+ final String key,
+ final int param1) {
+ if (logger.isEnabledFor(level)) {
+ forcedLog(logger, level,
+ format(bundleName, key, toArray(valueOf(param1))));
+ }
+ }
+
+ /**
+ * Log a parameterized message using a pattern from a resource bundle.
+ * @param logger logger, may not be null.
+ * @param level level, may not be null.
+ * @param bundleName resource bundle name, may be null.
+ * @param key key, may be null.
+ * @param param1 Parameter to the log message.
+ */
+ public static void logrb(final Logger logger,
+ final Level level,
+ final String bundleName,
+ final String key,
+ final long param1) {
+ if (logger.isEnabledFor(level)) {
+ forcedLog(logger, level,
+ format(bundleName, key, toArray(valueOf(param1))));
+ }
+ }
+ /**
+ * Log a parameterized message using a pattern from a resource bundle.
+ * @param logger logger, may not be null.
+ * @param level level, may not be null.
+ * @param bundleName resource bundle name, may be null.
+ * @param key key, may be null.
+ * @param param1 Parameter to the log message.
+ */
+ public static void logrb(final Logger logger,
+ final Level level,
+ final String bundleName,
+ final String key,
+ final float param1) {
+ if (logger.isEnabledFor(level)) {
+ forcedLog(logger, level,
+ format(bundleName, key, toArray(valueOf(param1))));
+ }
+ }
+
+
+ /**
+ * Log a parameterized message using a pattern from a resource bundle.
+ * @param logger logger, may not be null.
+ * @param level level, may not be null.
+ * @param bundleName resource bundle name, may be null.
+ * @param key key, may be null.
+ * @param param1 Parameter to the log message.
+ */
+ public static void logrb(final Logger logger,
+ final Level level,
+ final String bundleName,
+ final String key,
+ final double param1) {
+ if (logger.isEnabledFor(level)) {
+ forcedLog(logger, level,
+ format(bundleName, key, toArray(valueOf(param1))));
+ }
+ }
+
+ /**
+ * Log a parameterized message using a pattern from a resource bundle.
+ * @param logger logger, may not be null.
+ * @param level level, may not be null.
+ * @param bundleName resource bundle name, may be null.
+ * @param key key, may be null.
+ * @param param0 Parameter to the log message.
+ * @param param1 Parameter to the log message.
+ */
+ public static void logrb(final Logger logger,
+ final Level level,
+ final String bundleName,
+ final String key,
+ final Object param0,
+ final Object param1) {
+ if (logger.isEnabledFor(level)) {
+ forcedLog(logger, level,
+ format(bundleName, key, toArray(param0, param1)));
+ }
+ }
+
+
+ /**
+ * Log a parameterized message using a pattern from a resource bundle.
+ * @param logger logger, may not be null.
+ * @param level level, may not be null.
+ * @param bundleName resource bundle name, may be null.
+ * @param key key, may be null.
+ * @param param0 Parameter to the log message.
+ * @param param1 Parameter to the log message.
+ * @param param2 Parameter to the log message.
+ */
+ public static void logrb(final Logger logger,
+ final Level level,
+ final String bundleName,
+ final String key,
+ final Object param0,
+ final Object param1,
+ final Object param2) {
+ if (logger.isEnabledFor(level)) {
+ forcedLog(logger, level,
+ format(bundleName, key, toArray(param0, param1, param2)));
+ }
+ }
+
+
+ /**
+ * Log a parameterized message using a pattern from a resource bundle.
+ * @param logger logger, may not be null.
+ * @param level level, may not be null.
+ * @param bundleName resource bundle name, may be null.
+ * @param key key, may be null.
+ * @param param0 Parameter to the log message.
+ * @param param1 Parameter to the log message.
+ * @param param2 Parameter to the log message.
+ * @param param3 Parameter to the log message.
+ */
+ public static void logrb(final Logger logger,
+ final Level level,
+ final String bundleName,
+ final String key,
+ final Object param0,
+ final Object param1,
+ final Object param2,
+ final Object param3) {
+ if (logger.isEnabledFor(level)) {
+ forcedLog(logger, level,
+ format(bundleName, key,
+ toArray(param0, param1, param2, param3)));
+ }
+ }
+
+}