All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.logging.log4j.Logger Maven / Gradle / Ivy

Go to download

The Pax Logging API Library is to allow for the Pax Logging Service to be reloaded without stopping the many dependent bundles. It also contains the OSGi Log Service API and the Knopflerfish Log API.

There is a newer version: 2.2.8
Show newest version
/*
 * 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.logging.log4j;

import org.apache.logging.log4j.message.Message;
import org.apache.logging.log4j.message.MessageFactory;
import org.apache.logging.log4j.util.MessageSupplier;
import org.apache.logging.log4j.util.Supplier;

/**
 * This is the central interface in the log4j package. Most logging operations, except configuration, are done through
 * this interface.
 *
 * 

* The canonical way to obtain a Logger for a class is through {@link LogManager#getLogger()}. Typically, each class * gets its own Logger named after its fully qualified class name (the default Logger name when obtained through the * {@link LogManager#getLogger()} method). Thus, the simplest way to use this would be like so: *

* *
 * public class MyClass {
 *     private static final Logger LOGGER = LogManager.getLogger();
 *     // ...
 * }
 * 
*

* For ease of filtering, searching, sorting, etc., it is generally a good idea to create Loggers for each class rather * than sharing Loggers. Instead, {@link Marker Markers} should be used for shared, filterable identification. *

*

* For service provider implementations, it is recommended to extend the * {@link org.apache.logging.log4j.spi.AbstractLogger} class rather than implementing this interface directly. *

* * Since 2.4, methods have been added to the {@code Logger} interface to support lambda expressions. The new methods * allow client code to lazily log messages without explicitly checking if the requested log level is enabled. For * example, previously one would write: * *
 * // pre-Java 8 style optimization: explicitly check the log level
 * // to make sure the expensiveOperation() method is only called if necessary
 * if (logger.isTraceEnabled()) {
 *     logger.trace("Some long-running operation returned {}", expensiveOperation());
 * }
 * 
*

* With Java 8, the same effect can be achieved with a lambda expression: * *

 * // Java-8 style optimization: no need to explicitly check the log level:
 * // the lambda expression is not evaluated if the TRACE level is not enabled
 * logger.trace("Some long-running operation returned {}", () -> expensiveOperation());
 * 
*/ public interface Logger { /** * Logs an exception or error that has been caught to a specific logging level. * * @param level The logging Level. * @param t The Throwable. */ void catching(Level level, Throwable t); /** * Logs an exception or error that has been caught. Normally, one may wish to provide additional information with an * exception while logging it; in these cases, one would not use this method. In other cases where simply logging * the fact that an exception was swallowed somewhere (e.g., at the top of the stack trace in a {@code main()} * method), this method is ideal for it. * * @param t The Throwable. */ void catching(Throwable t); /** * Logs a message with the specific Marker at the {@link Level#DEBUG DEBUG} level. * * @param marker the marker data specific to this log statement * @param msg the message string to be logged */ void debug(Marker marker, Message msg); /** * Logs a message with the specific Marker at the {@link Level#DEBUG DEBUG} level. * * @param marker the marker data specific to this log statement * @param msg the message string to be logged * @param t A Throwable or null. */ void debug(Marker marker, Message msg, Throwable t); /** * Logs a message which is only to be constructed if the logging level is the {@link Level#DEBUG DEBUG} level with * the specified Marker. The {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the * {@code Message}. * * @param marker the marker data specific to this log statement * @param msgSupplier A function, which when called, produces the desired log message. * @since 2.4 */ void debug(Marker marker, MessageSupplier msgSupplier); /** * Logs a message (only to be constructed if the logging level is the {@link Level#DEBUG DEBUG} level) with the * specified Marker and including the stack trace of the {@link Throwable} t passed as parameter. The * {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the {@code Message}. * * @param marker the marker data specific to this log statement * @param msgSupplier A function, which when called, produces the desired log message. * @param t A Throwable or null. * @since 2.4 */ void debug(Marker marker, MessageSupplier msgSupplier, Throwable t); /** * Logs a message object with the {@link Level#DEBUG DEBUG} level. * * @param marker the marker data specific to this log statement * @param message the message object to log. */ void debug(Marker marker, Object message); /** * Logs a message at the {@link Level#DEBUG DEBUG} level including the stack trace of the {@link Throwable} * t passed as parameter. * * @param marker the marker data specific to this log statement * @param message the message to log. * @param t the exception to log, including its stack trace. */ void debug(Marker marker, Object message, Throwable t); /** * Logs a message object with the {@link Level#DEBUG DEBUG} level. * * @param marker the marker data specific to this log statement * @param message the message object to log. */ void debug(Marker marker, String message); /** * Logs a message with parameters at the {@link Level#DEBUG DEBUG} level. * * @param marker the marker data specific to this log statement * @param message the message to log; the format depends on the message factory. * @param params parameters to the message. * @see #getMessageFactory() */ void debug(Marker marker, String message, Object... params); /** * Logs a message with parameters which are only to be constructed if the logging level is the {@link Level#DEBUG * DEBUG} level. * * @param marker the marker data specific to this log statement * @param message the message to log; the format depends on the message factory. * @param paramSuppliers An array of functions, which when called, produce the desired log message parameters. * @since 2.4 */ void debug(Marker marker, String message, Supplier... paramSuppliers); /** * Logs a message at the {@link Level#DEBUG DEBUG} level including the stack trace of the {@link Throwable} * t passed as parameter. * * @param marker the marker data specific to this log statement * @param message the message to log. * @param t the exception to log, including its stack trace. */ void debug(Marker marker, String message, Throwable t); /** * Logs a message which is only to be constructed if the logging level is the {@link Level#DEBUG DEBUG} level with * the specified Marker. * * @param marker the marker data specific to this log statement * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the * message factory. * @since 2.4 */ void debug(Marker marker, Supplier msgSupplier); /** * Logs a message (only to be constructed if the logging level is the {@link Level#DEBUG DEBUG} level) with the * specified Marker and including the stack trace of the {@link Throwable} t passed as parameter. * * @param marker the marker data specific to this log statement * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the * message factory. * @param t A Throwable or null. * @since 2.4 */ void debug(Marker marker, Supplier msgSupplier, Throwable t); /** * Logs a message with the specific Marker at the {@link Level#DEBUG DEBUG} level. * * @param msg the message string to be logged */ void debug(Message msg); /** * Logs a message with the specific Marker at the {@link Level#DEBUG DEBUG} level. * * @param msg the message string to be logged * @param t A Throwable or null. */ void debug(Message msg, Throwable t); /** * Logs a message which is only to be constructed if the logging level is the {@link Level#DEBUG DEBUG} level. The * {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the {@code Message}. * * @param msgSupplier A function, which when called, produces the desired log message. * @since 2.4 */ void debug(MessageSupplier msgSupplier); /** * Logs a message (only to be constructed if the logging level is the {@link Level#DEBUG DEBUG} level) including the * stack trace of the {@link Throwable} t passed as parameter. The {@code MessageSupplier} may or may * not use the {@link MessageFactory} to construct the {@code Message}. * * @param msgSupplier A function, which when called, produces the desired log message. * @param t the exception to log, including its stack trace. * @since 2.4 */ void debug(MessageSupplier msgSupplier, Throwable t); /** * Logs a message object with the {@link Level#DEBUG DEBUG} level. * * @param message the message object to log. */ void debug(Object message); /** * Logs a message at the {@link Level#DEBUG DEBUG} level including the stack trace of the {@link Throwable} * t passed as parameter. * * @param message the message to log. * @param t the exception to log, including its stack trace. */ void debug(Object message, Throwable t); /** * Logs a message object with the {@link Level#DEBUG DEBUG} level. * * @param message the message string to log. */ void debug(String message); /** * Logs a message with parameters at the {@link Level#DEBUG DEBUG} level. * * @param message the message to log; the format depends on the message factory. * @param params parameters to the message. * @see #getMessageFactory() */ void debug(String message, Object... params); /** * Logs a message with parameters which are only to be constructed if the logging level is the {@link Level#DEBUG * DEBUG} level. * * @param message the message to log; the format depends on the message factory. * @param paramSuppliers An array of functions, which when called, produce the desired log message parameters. * @since 2.4 */ void debug(String message, Supplier... paramSuppliers); /** * Logs a message at the {@link Level#DEBUG DEBUG} level including the stack trace of the {@link Throwable} * t passed as parameter. * * @param message the message to log. * @param t the exception to log, including its stack trace. */ void debug(String message, Throwable t); /** * Logs a message which is only to be constructed if the logging level is the {@link Level#DEBUG DEBUG} level. * * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the * message factory. * @since 2.4 */ void debug(Supplier msgSupplier); /** * Logs a message (only to be constructed if the logging level is the {@link Level#DEBUG DEBUG} level) including the * stack trace of the {@link Throwable} t passed as parameter. * * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the * message factory. * @param t the exception to log, including its stack trace. * @since 2.4 */ void debug(Supplier msgSupplier, Throwable t); /** * Logs entry to a method. Used when the method in question has no parameters or when the parameters should not be * logged. */ void entry(); /** * Logs entry to a method along with its parameters. For example, * *
     * public void doSomething(String foo, int bar) {
     *     LOGGER.entry(foo, bar);
     *     // do something
     * }
     * 
*

* The use of methods such as this are more effective when combined with aspect-oriented programming or other * bytecode manipulation tools. It can be rather tedious (and messy) to use this type of method manually. *

* * @param params The parameters to the method. TODO Use of varargs results in array creation which can be a * substantial portion of no-op case. LogMF/LogSF provides several overrides to avoid vararg except in * edge cases. (RG) LogMF and LogSF implement these in LogXF which calls logger.callAppenders. * callAppenders is part of the implementation and cannot be used by the API. Adding more methods here * and in AbstractLogger is sufficient. */ void entry(Object... params); /** * Logs a message with the specific Marker at the {@link Level#ERROR ERROR} level. * * @param marker the marker data specific to this log statement * @param msg the message string to be logged */ void error(Marker marker, Message msg); /** * Logs a message with the specific Marker at the {@link Level#ERROR ERROR} level. * * @param marker the marker data specific to this log statement * @param msg the message string to be logged * @param t A Throwable or null. */ void error(Marker marker, Message msg, Throwable t); /** * Logs a message which is only to be constructed if the logging level is the {@link Level#ERROR ERROR} level with * the specified Marker. The {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the * {@code Message}. * * @param marker the marker data specific to this log statement * @param msgSupplier A function, which when called, produces the desired log message. * @since 2.4 */ void error(Marker marker, MessageSupplier msgSupplier); /** * Logs a message (only to be constructed if the logging level is the {@link Level#ERROR ERROR} level) with the * specified Marker and including the stack trace of the {@link Throwable} t passed as parameter. The * {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the {@code Message}. * * @param marker the marker data specific to this log statement * @param msgSupplier A function, which when called, produces the desired log message. * @param t A Throwable or null. * @since 2.4 */ void error(Marker marker, MessageSupplier msgSupplier, Throwable t); /** * Logs a message object with the {@link Level#ERROR ERROR} level. * * @param marker the marker data specific to this log statement. * @param message the message object to log. */ void error(Marker marker, Object message); /** * Logs a message at the {@link Level#ERROR ERROR} level including the stack trace of the {@link Throwable} * t passed as parameter. * * @param marker the marker data specific to this log statement. * @param message the message object to log. * @param t the exception to log, including its stack trace. */ void error(Marker marker, Object message, Throwable t); /** * Logs a message object with the {@link Level#ERROR ERROR} level. * * @param marker the marker data specific to this log statement. * @param message the message object to log. */ void error(Marker marker, String message); /** * Logs a message with parameters at the {@link Level#ERROR ERROR} level. * * @param marker the marker data specific to this log statement. * @param message the message to log; the format depends on the message factory. * @param params parameters to the message. * @see #getMessageFactory() * * TODO Likely to misinterpret existing log4j client code that intended to call info(Object,Throwable). Incurs * array creation expense on every call. (RG) I assume you meant error, not info. It isn't possible to be * misinterpreted as the previous method is for that signature. Methods should be added to avoid varargs for 1, * 2 or 3 parameters. */ void error(Marker marker, String message, Object... params); /** * Logs a message with parameters which are only to be constructed if the logging level is the {@link Level#ERROR * ERROR} level. * * @param marker the marker data specific to this log statement * @param message the message to log; the format depends on the message factory. * @param paramSuppliers An array of functions, which when called, produce the desired log message parameters. * @since 2.4 */ void error(Marker marker, String message, Supplier... paramSuppliers); /** * Logs a message at the {@link Level#ERROR ERROR} level including the stack trace of the {@link Throwable} * t passed as parameter. * * @param marker the marker data specific to this log statement. * @param message the message object to log. * @param t the exception to log, including its stack trace. */ void error(Marker marker, String message, Throwable t); /** * Logs a message which is only to be constructed if the logging level is the {@link Level#ERROR ERROR} level with * the specified Marker. * * @param marker the marker data specific to this log statement * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the * message factory. * @since 2.4 */ void error(Marker marker, Supplier msgSupplier); /** * Logs a message (only to be constructed if the logging level is the {@link Level#ERROR ERROR} level) with the * specified Marker and including the stack trace of the {@link Throwable} t passed as parameter. * * @param marker the marker data specific to this log statement * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the * message factory. * @param t A Throwable or null. * @since 2.4 */ void error(Marker marker, Supplier msgSupplier, Throwable t); /** * Logs a message with the specific Marker at the {@link Level#ERROR ERROR} level. * * @param msg the message string to be logged */ void error(Message msg); /** * Logs a message with the specific Marker at the {@link Level#ERROR ERROR} level. * * @param msg the message string to be logged * @param t A Throwable or null. */ void error(Message msg, Throwable t); /** * Logs a message which is only to be constructed if the logging level is the {@link Level#ERROR ERROR} level. The * {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the {@code Message}. * * @param msgSupplier A function, which when called, produces the desired log message. * @since 2.4 */ void error(MessageSupplier msgSupplier); /** * Logs a message (only to be constructed if the logging level is the {@link Level#ERROR ERROR} level) including the * stack trace of the {@link Throwable} t passed as parameter. The {@code MessageSupplier} may or may * not use the {@link MessageFactory} to construct the {@code Message}. * * @param msgSupplier A function, which when called, produces the desired log message. * @param t the exception to log, including its stack trace. * @since 2.4 */ void error(MessageSupplier msgSupplier, Throwable t); /** * Logs a message object with the {@link Level#ERROR ERROR} level. * * @param message the message object to log. */ void error(Object message); /** * Logs a message at the {@link Level#ERROR ERROR} level including the stack trace of the {@link Throwable} * t passed as parameter. * * @param message the message object to log. * @param t the exception to log, including its stack trace. */ void error(Object message, Throwable t); /** * Logs a message object with the {@link Level#ERROR ERROR} level. * * @param message the message string to log. */ void error(String message); /** * Logs a message with parameters at the {@link Level#ERROR ERROR} level. * * @param message the message to log; the format depends on the message factory. * @param params parameters to the message. * @see #getMessageFactory() * * TODO Likely to misinterpret existing log4j client code that intended to call info(Object,Throwable). Incurs * array creation expense on every call. (RG) I assume you meant error, not info. It isn't possible to be * misinterpreted as the previous method is for that signature. Methods should be added to avoid varargs for 1, * 2 or 3 parameters. */ void error(String message, Object... params); /** * Logs a message with parameters which are only to be constructed if the logging level is the {@link Level#ERROR * ERROR} level. * * @param message the message to log; the format depends on the message factory. * @param paramSuppliers An array of functions, which when called, produce the desired log message parameters. * @since 2.4 */ void error(String message, Supplier... paramSuppliers); /** * Logs a message at the {@link Level#ERROR ERROR} level including the stack trace of the {@link Throwable} * t passed as parameter. * * @param message the message object to log. * @param t the exception to log, including its stack trace. */ void error(String message, Throwable t); /** * Logs a message which is only to be constructed if the logging level is the {@link Level#ERROR ERROR} level. * * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the * message factory. * @since 2.4 */ void error(Supplier msgSupplier); /** * Logs a message (only to be constructed if the logging level is the {@link Level#ERROR ERROR} level) including the * stack trace of the {@link Throwable} t passed as parameter. * * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the * message factory. * @param t the exception to log, including its stack trace. * @since 2.4 */ void error(Supplier msgSupplier, Throwable t); /** * Logs exit from a method. Used for methods that do not return anything. */ void exit(); /** * Logs exiting from a method with the result. This may be coded as: * *
     * return LOGGER.exit(myResult);
     * 
* * @param The type of the parameter and object being returned. * @param result The result being returned from the method call. * @return the result. */ R exit(R result); /** * Logs a message with the specific Marker at the {@link Level#FATAL FATAL} level. * * @param marker the marker data specific to this log statement * @param msg the message string to be logged */ void fatal(Marker marker, Message msg); /** * Logs a message with the specific Marker at the {@link Level#FATAL FATAL} level. * * @param marker the marker data specific to this log statement * @param msg the message string to be logged * @param t A Throwable or null. */ void fatal(Marker marker, Message msg, Throwable t); /** * Logs a message which is only to be constructed if the logging level is the {@link Level#FATAL FATAL} level with * the specified Marker. The {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the * {@code Message}. * * @param marker the marker data specific to this log statement * @param msgSupplier A function, which when called, produces the desired log message. * @since 2.4 */ void fatal(Marker marker, MessageSupplier msgSupplier); /** * Logs a message (only to be constructed if the logging level is the {@link Level#FATAL FATAL} level) with the * specified Marker and including the stack trace of the {@link Throwable} t passed as parameter. The * {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the {@code Message}. * * @param marker the marker data specific to this log statement * @param msgSupplier A function, which when called, produces the desired log message. * @param t A Throwable or null. * @since 2.4 */ void fatal(Marker marker, MessageSupplier msgSupplier, Throwable t); /** * Logs a message object with the {@link Level#FATAL FATAL} level. * * @param marker The marker data specific to this log statement. * @param message the message object to log. */ void fatal(Marker marker, Object message); /** * Logs a message at the {@link Level#FATAL FATAL} level including the stack trace of the {@link Throwable} * t passed as parameter. * * @param marker The marker data specific to this log statement. * @param message the message object to log. * @param t the exception to log, including its stack trace. */ void fatal(Marker marker, Object message, Throwable t); /** * Logs a message object with the {@link Level#FATAL FATAL} level. * * @param marker The marker data specific to this log statement. * @param message the message object to log. */ void fatal(Marker marker, String message); /** * Logs a message with parameters at the {@link Level#FATAL FATAL} level. * * @param marker The marker data specific to this log statement. * @param message the message to log; the format depends on the message factory. * @param params parameters to the message. * @see #getMessageFactory() * * TODO Likely to misinterpret existing log4j client code that intended to call info(Object,Throwable). Incurs * array creation expense on every call.(RG) I assume you meant fatal, not info. It isn't possible to be * misinterpreted as the previous method is for that signature. Methods should be added to avoid varargs for 1, * 2 or 3 parameters. */ void fatal(Marker marker, String message, Object... params); /** * Logs a message with parameters which are only to be constructed if the logging level is the {@link Level#FATAL * FATAL} level. * * @param marker the marker data specific to this log statement * @param message the message to log; the format depends on the message factory. * @param paramSuppliers An array of functions, which when called, produce the desired log message parameters. * @since 2.4 */ void fatal(Marker marker, String message, Supplier... paramSuppliers); /** * Logs a message at the {@link Level#FATAL FATAL} level including the stack trace of the {@link Throwable} * t passed as parameter. * * @param marker The marker data specific to this log statement. * @param message the message object to log. * @param t the exception to log, including its stack trace. */ void fatal(Marker marker, String message, Throwable t); /** * Logs a message which is only to be constructed if the logging level is the {@link Level#FATAL FATAL} level with * the specified Marker. * * @param marker the marker data specific to this log statement * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the * message factory. * @since 2.4 */ void fatal(Marker marker, Supplier msgSupplier); /** * Logs a message (only to be constructed if the logging level is the {@link Level#FATAL FATAL} level) with the * specified Marker and including the stack trace of the {@link Throwable} t passed as parameter. * * @param marker the marker data specific to this log statement * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the * message factory. * @param t A Throwable or null. * @since 2.4 */ void fatal(Marker marker, Supplier msgSupplier, Throwable t); /** * Logs a message with the specific Marker at the {@link Level#FATAL FATAL} level. * * @param msg the message string to be logged */ void fatal(Message msg); /** * Logs a message with the specific Marker at the {@link Level#FATAL FATAL} level. * * @param msg the message string to be logged * @param t A Throwable or null. */ void fatal(Message msg, Throwable t); /** * Logs a message which is only to be constructed if the logging level is the {@link Level#FATAL FATAL} level. The * {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the {@code Message}. * * @param msgSupplier A function, which when called, produces the desired log message. * @since 2.4 */ void fatal(MessageSupplier msgSupplier); /** * Logs a message (only to be constructed if the logging level is the {@link Level#FATAL FATAL} level) including the * stack trace of the {@link Throwable} t passed as parameter. The {@code MessageSupplier} may or may * not use the {@link MessageFactory} to construct the {@code Message}. * * @param msgSupplier A function, which when called, produces the desired log message. * @param t the exception to log, including its stack trace. * @since 2.4 */ void fatal(MessageSupplier msgSupplier, Throwable t); /** * Logs a message object with the {@link Level#FATAL FATAL} level. * * @param message the message object to log. */ void fatal(Object message); /** * Logs a message at the {@link Level#FATAL FATAL} level including the stack trace of the {@link Throwable} * t passed as parameter. * * @param message the message object to log. * @param t the exception to log, including its stack trace. */ void fatal(Object message, Throwable t); /** * Logs a message object with the {@link Level#FATAL FATAL} level. * * @param message the message string to log. */ void fatal(String message); /** * Logs a message with parameters at the {@link Level#FATAL FATAL} level. * * @param message the message to log; the format depends on the message factory. * @param params parameters to the message. * @see #getMessageFactory() * * TODO Likely to misinterpret existing log4j client code that intended to call info(Object,Throwable). Incurs * array creation expense on every call.(RG) I assume you meant fatal, not info. It isn't possible to be * misinterpreted as the previous method is for that signature. Methods should be added to avoid varargs for 1, * 2 or 3 parameters. */ void fatal(String message, Object... params); /** * Logs a message with parameters which are only to be constructed if the logging level is the {@link Level#FATAL * FATAL} level. * * @param message the message to log; the format depends on the message factory. * @param paramSuppliers An array of functions, which when called, produce the desired log message parameters. * @since 2.4 */ void fatal(String message, Supplier... paramSuppliers); /** * Logs a message at the {@link Level#FATAL FATAL} level including the stack trace of the {@link Throwable} * t passed as parameter. * * @param message the message object to log. * @param t the exception to log, including its stack trace. */ void fatal(String message, Throwable t); /** * Logs a message which is only to be constructed if the logging level is the {@link Level#FATAL FATAL} level. * * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the * message factory. * @since 2.4 */ void fatal(Supplier msgSupplier); /** * Logs a message (only to be constructed if the logging level is the {@link Level#FATAL FATAL} level) including the * stack trace of the {@link Throwable} t passed as parameter. * * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the * message factory. * @param t the exception to log, including its stack trace. * @since 2.4 */ void fatal(Supplier msgSupplier, Throwable t); /** * Gets the Level associated with the Logger. * * @return the Level associate with the Logger. */ Level getLevel(); /** * Gets the message factory used to convert message Objects and Strings into actual log Messages. * * @return the message factory. */ MessageFactory getMessageFactory(); /** * Gets the logger name. * * @return the logger name. */ String getName(); /** * Logs a message with the specific Marker at the {@link Level#INFO INFO} level. * * @param marker the marker data specific to this log statement * @param msg the message string to be logged */ void info(Marker marker, Message msg); /** * Logs a message with the specific Marker at the {@link Level#INFO INFO} level. * * @param marker the marker data specific to this log statement * @param msg the message string to be logged * @param t A Throwable or null. */ void info(Marker marker, Message msg, Throwable t); /** * Logs a message which is only to be constructed if the logging level is the {@link Level#INFO INFO} level with the * specified Marker. The {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the * {@code Message}. * * @param marker the marker data specific to this log statement * @param msgSupplier A function, which when called, produces the desired log message. * @since 2.4 */ void info(Marker marker, MessageSupplier msgSupplier); /** * Logs a message (only to be constructed if the logging level is the {@link Level#INFO INFO} level) with the * specified Marker and including the stack trace of the {@link Throwable} t passed as parameter. The * {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the {@code Message}. * * @param marker the marker data specific to this log statement * @param msgSupplier A function, which when called, produces the desired log message. * @param t A Throwable or null. * @since 2.4 */ void info(Marker marker, MessageSupplier msgSupplier, Throwable t); /** * Logs a message object with the {@link Level#INFO INFO} level. * * @param marker the marker data specific to this log statement * @param message the message object to log. */ void info(Marker marker, Object message); /** * Logs a message at the {@link Level#INFO INFO} level including the stack trace of the {@link Throwable} * t passed as parameter. * * @param marker the marker data specific to this log statement * @param message the message object to log. * @param t the exception to log, including its stack trace. */ void info(Marker marker, Object message, Throwable t); /** * Logs a message object with the {@link Level#INFO INFO} level. * * @param marker the marker data specific to this log statement * @param message the message object to log. */ void info(Marker marker, String message); /** * Logs a message with parameters at the {@link Level#INFO INFO} level. * * @param marker the marker data specific to this log statement * @param message the message to log; the format depends on the message factory. * @param params parameters to the message. * @see #getMessageFactory() * * TODO Likely to misinterpret existing log4j client code that intended to call info(Object,Throwable). Incurs * array creation expense on every call. (RG) It isn't possible to be misinterpreted as the previous method is * for that signature. Methods should be added to avoid varargs for 1, 2 or 3 parameters. */ void info(Marker marker, String message, Object... params); /** * Logs a message with parameters which are only to be constructed if the logging level is the {@link Level#INFO * INFO} level. * * @param marker the marker data specific to this log statement * @param message the message to log; the format depends on the message factory. * @param paramSuppliers An array of functions, which when called, produce the desired log message parameters. * @since 2.4 */ void info(Marker marker, String message, Supplier... paramSuppliers); /** * Logs a message at the {@link Level#INFO INFO} level including the stack trace of the {@link Throwable} * t passed as parameter. * * @param marker the marker data specific to this log statement * @param message the message object to log. * @param t the exception to log, including its stack trace. */ void info(Marker marker, String message, Throwable t); /** * Logs a message which is only to be constructed if the logging level is the {@link Level#INFO INFO} level with the * specified Marker. * * @param marker the marker data specific to this log statement * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the * message factory. * @since 2.4 */ void info(Marker marker, Supplier msgSupplier); /** * Logs a message (only to be constructed if the logging level is the {@link Level#INFO INFO} level) with the * specified Marker and including the stack trace of the {@link Throwable} t passed as parameter. * * @param marker the marker data specific to this log statement * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the * message factory. * @param t A Throwable or null. * @since 2.4 */ void info(Marker marker, Supplier msgSupplier, Throwable t); /** * Logs a message with the specific Marker at the {@link Level#INFO INFO} level. * * @param msg the message string to be logged */ void info(Message msg); /** * Logs a message with the specific Marker at the {@link Level#INFO INFO} level. * * @param msg the message string to be logged * @param t A Throwable or null. */ void info(Message msg, Throwable t); /** * Logs a message which is only to be constructed if the logging level is the {@link Level#INFO INFO} level. The * {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the {@code Message}. * * @param msgSupplier A function, which when called, produces the desired log message. * @since 2.4 */ void info(MessageSupplier msgSupplier); /** * Logs a message (only to be constructed if the logging level is the {@link Level#INFO INFO} level) including the * stack trace of the {@link Throwable} t passed as parameter. The {@code MessageSupplier} may or may * not use the {@link MessageFactory} to construct the {@code Message}. * * @param msgSupplier A function, which when called, produces the desired log message. * @param t the exception to log, including its stack trace. * @since 2.4 */ void info(MessageSupplier msgSupplier, Throwable t); /** * Logs a message object with the {@link Level#INFO INFO} level. * * @param message the message object to log. */ void info(Object message); /** * Logs a message at the {@link Level#INFO INFO} level including the stack trace of the {@link Throwable} * t passed as parameter. * * @param message the message object to log. * @param t the exception to log, including its stack trace. */ void info(Object message, Throwable t); /** * Logs a message object with the {@link Level#INFO INFO} level. * * @param message the message string to log. */ void info(String message); /** * Logs a message with parameters at the {@link Level#INFO INFO} level. * * @param message the message to log; the format depends on the message factory. * @param params parameters to the message. * @see #getMessageFactory() * * TODO Likely to misinterpret existing log4j client code that intended to call info(Object,Throwable). Incurs * array creation expense on every call. (RG) It isn't possible to be misinterpreted as the previous method is * for that signature. Methods should be added to avoid varargs for 1, 2 or 3 parameters. */ void info(String message, Object... params); /** * Logs a message with parameters which are only to be constructed if the logging level is the {@link Level#INFO * INFO} level. * * @param message the message to log; the format depends on the message factory. * @param paramSuppliers An array of functions, which when called, produce the desired log message parameters. * @since 2.4 */ void info(String message, Supplier... paramSuppliers); /** * Logs a message at the {@link Level#INFO INFO} level including the stack trace of the {@link Throwable} * t passed as parameter. * * @param message the message object to log. * @param t the exception to log, including its stack trace. */ void info(String message, Throwable t); /** * Logs a message which is only to be constructed if the logging level is the {@link Level#INFO INFO} level. * * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the * message factory. * @since 2.4 */ void info(Supplier msgSupplier); /** * Logs a message (only to be constructed if the logging level is the {@link Level#INFO INFO} level) including the * stack trace of the {@link Throwable} t passed as parameter. * * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the * message factory. * @param t the exception to log, including its stack trace. * @since 2.4 */ void info(Supplier msgSupplier, Throwable t); /** * Checks whether this Logger is enabled for the {@link Level#DEBUG DEBUG} Level. * * @return boolean - {@code true} if this Logger is enabled for level DEBUG, {@code false} otherwise. */ boolean isDebugEnabled(); /** * Checks whether this Logger is enabled for the {@link Level#DEBUG DEBUG} Level. * * @param marker The marker data specific to this log statement. * @return boolean - {@code true} if this Logger is enabled for level DEBUG, {@code false} otherwise. */ boolean isDebugEnabled(Marker marker); /** * Checks whether this Logger is enabled for the the given Level. *

* Note that passing in {@link Level#OFF OFF} always returns {@code true}. *

* * @param level the level to check * @return boolean - {@code true} if this Logger is enabled for level, {@code false} otherwise. */ boolean isEnabled(Level level); /** * Checks whether this logger is enabled at the specified level and an optional Marker. * * @param level The Level to check. * @param marker The marker data specific to this log statement. * @return boolean - {@code true} if this Logger is enabled for level {@link Level#WARN WARN}, {@code false} * otherwise. */ boolean isEnabled(Level level, Marker marker); /** * Checks whether this Logger is enabled for the {@link Level#ERROR ERROR} Level. * * @return boolean - {@code true} if this Logger is enabled for level {@link Level#ERROR ERROR}, {@code false} * otherwise. */ boolean isErrorEnabled(); /** * Checks whether this Logger is enabled for the {@link Level#ERROR ERROR} Level. * * @param marker The marker data specific to this log statement. * @return boolean - {@code true} if this Logger is enabled for level {@link Level#ERROR ERROR}, {@code false} * otherwise. */ boolean isErrorEnabled(Marker marker); /** * Checks whether this Logger is enabled for the {@link Level#FATAL FATAL} Level. * * @return boolean - {@code true} if this Logger is enabled for level {@link Level#FATAL FATAL}, {@code false} * otherwise. */ boolean isFatalEnabled(); /** * Checks whether this Logger is enabled for the {@link Level#FATAL FATAL} Level. * * @param marker The marker data specific to this log statement. * @return boolean - {@code true} if this Logger is enabled for level {@link Level#FATAL FATAL}, {@code false} * otherwise. */ boolean isFatalEnabled(Marker marker); /** * Checks whether this Logger is enabled for the {@link Level#INFO INFO} Level. * * @return boolean - {@code true} if this Logger is enabled for level INFO, {@code false} otherwise. */ boolean isInfoEnabled(); /** * Checks whether this Logger is enabled for the {@link Level#INFO INFO} Level. * * @param marker The marker data specific to this log statement. * @return boolean - {@code true} if this Logger is enabled for level INFO, {@code false} otherwise. */ boolean isInfoEnabled(Marker marker); /** * Checks whether this Logger is enabled for the {@link Level#TRACE TRACE} level. * * @return boolean - {@code true} if this Logger is enabled for level TRACE, {@code false} otherwise. */ boolean isTraceEnabled(); /** * Checks whether this Logger is enabled for the {@link Level#TRACE TRACE} level. * * @param marker The marker data specific to this log statement. * @return boolean - {@code true} if this Logger is enabled for level TRACE, {@code false} otherwise. */ boolean isTraceEnabled(Marker marker); /** * Checks whether this Logger is enabled for the {@link Level#WARN WARN} Level. * * @return boolean - {@code true} if this Logger is enabled for level {@link Level#WARN WARN}, {@code false} * otherwise. */ boolean isWarnEnabled(); /** * Checks whether this Logger is enabled for the {@link Level#WARN WARN} Level. * * @param marker The marker data specific to this log statement. * @return boolean - {@code true} if this Logger is enabled for level {@link Level#WARN WARN}, {@code false} * otherwise. */ boolean isWarnEnabled(Marker marker); /** * Logs a message with the specific Marker at the given level. * * @param level the logging level * @param marker the marker data specific to this log statement * @param msg the message string to be logged */ void log(Level level, Marker marker, Message msg); /** * Logs a message with the specific Marker at the given level. * * @param level the logging level * @param marker the marker data specific to this log statement * @param msg the message string to be logged * @param t A Throwable or null. */ void log(Level level, Marker marker, Message msg, Throwable t); /** * Logs a message which is only to be constructed if the logging level is the specified level with the specified * Marker. The {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the * {@code Message}. * * @param level the logging level * @param marker the marker data specific to this log statement * @param msgSupplier A function, which when called, produces the desired log message. * @since 2.4 */ void log(Level level, Marker marker, MessageSupplier msgSupplier); /** * Logs a message (only to be constructed if the logging level is the specified level) with the specified Marker and * including the stack log of the {@link Throwable} t passed as parameter. The {@code MessageSupplier} * may or may not use the {@link MessageFactory} to construct the {@code Message}. * * @param level the logging level * @param marker the marker data specific to this log statement * @param msgSupplier A function, which when called, produces the desired log message. * @param t A Throwable or null. * @since 2.4 */ void log(Level level, Marker marker, MessageSupplier msgSupplier, Throwable t); /** * Logs a message object with the given level. * * @param level the logging level * @param marker the marker data specific to this log statement * @param message the message object to log. */ void log(Level level, Marker marker, Object message); /** * Logs a message at the given level including the stack trace of the {@link Throwable} t passed as * parameter. * * @param level the logging level * @param marker the marker data specific to this log statement * @param message the message to log. * @param t the exception to log, including its stack trace. */ void log(Level level, Marker marker, Object message, Throwable t); /** * Logs a message object with the given level. * * @param level the logging level * @param marker the marker data specific to this log statement * @param message the message object to log. */ void log(Level level, Marker marker, String message); /** * Logs a message with parameters at the given level. * * @param level the logging level * @param marker the marker data specific to this log statement * @param message the message to log; the format depends on the message factory. * @param params parameters to the message. * @see #getMessageFactory() */ void log(Level level, Marker marker, String message, Object... params); /** * Logs a message with parameters which are only to be constructed if the logging level is the specified level. * * @param level the logging level * @param marker the marker data specific to this log statement * @param message the message to log; the format depends on the message factory. * @param paramSuppliers An array of functions, which when called, produce the desired log message parameters. * @since 2.4 */ void log(Level level, Marker marker, String message, Supplier... paramSuppliers); /** * Logs a message at the given level including the stack trace of the {@link Throwable} t passed as * parameter. * * @param level the logging level * @param marker the marker data specific to this log statement * @param message the message to log. * @param t the exception to log, including its stack trace. */ void log(Level level, Marker marker, String message, Throwable t); /** * Logs a message (only to be constructed if the logging level is the specified level) with the specified Marker. * * @param level the logging level * @param marker the marker data specific to this log statement * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the * message factory. * @since 2.4 */ void log(Level level, Marker marker, Supplier msgSupplier); /** * Logs a message (only to be constructed if the logging level is the specified level) with the specified Marker and * including the stack log of the {@link Throwable} t passed as parameter. * * @param level the logging level * @param marker the marker data specific to this log statement * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the * message factory. * @param t A Throwable or null. * @since 2.4 */ void log(Level level, Marker marker, Supplier msgSupplier, Throwable t); /** * Logs a message with the specific Marker at the given level. * * @param level the logging level * @param msg the message string to be logged */ void log(Level level, Message msg); /** * Logs a message with the specific Marker at the given level. * * @param level the logging level * @param msg the message string to be logged * @param t A Throwable or null. */ void log(Level level, Message msg, Throwable t); /** * Logs a message which is only to be constructed if the logging level is the specified level. The * {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the {@code Message}. * * @param level the logging level * @param msgSupplier A function, which when called, produces the desired log message. * @since 2.4 */ void log(Level level, MessageSupplier msgSupplier); /** * Logs a message (only to be constructed if the logging level is the specified level) including the stack log of * the {@link Throwable} t passed as parameter. The {@code MessageSupplier} may or may not use the * {@link MessageFactory} to construct the {@code Message}. * * @param level the logging level * @param msgSupplier A function, which when called, produces the desired log message. * @param t the exception to log, including its stack log. * @since 2.4 */ void log(Level level, MessageSupplier msgSupplier, Throwable t); /** * Logs a message object with the given level. * * @param level the logging level * @param message the message object to log. */ void log(Level level, Object message); /** * Logs a message at the given level including the stack trace of the {@link Throwable} t passed as * parameter. * * @param level the logging level * @param message the message to log. * @param t the exception to log, including its stack trace. */ void log(Level level, Object message, Throwable t); /** * Logs a message object with the given level. * * @param level the logging level * @param message the message string to log. */ void log(Level level, String message); /** * Logs a message with parameters at the given level. * * @param level the logging level * @param message the message to log; the format depends on the message factory. * @param params parameters to the message. * @see #getMessageFactory() */ void log(Level level, String message, Object... params); /** * Logs a message with parameters which are only to be constructed if the logging level is the specified level. * * @param level the logging level * @param message the message to log; the format depends on the message factory. * @param paramSuppliers An array of functions, which when called, produce the desired log message parameters. * @since 2.4 */ void log(Level level, String message, Supplier... paramSuppliers); /** * Logs a message at the given level including the stack trace of the {@link Throwable} t passed as * parameter. * * @param level the logging level * @param message the message to log. * @param t the exception to log, including its stack trace. */ void log(Level level, String message, Throwable t); /** * Logs a message which is only to be constructed if the logging level is the specified level. * * @param level the logging level * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the * message factory. * @since 2.4 */ void log(Level level, Supplier msgSupplier); /** * Logs a message (only to be constructed if the logging level is the specified level) including the stack log of * the {@link Throwable} t passed as parameter. * * @param level the logging level * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the * message factory. * @param t the exception to log, including its stack log. * @since 2.4 */ void log(Level level, Supplier msgSupplier, Throwable t); /** * Logs a formatted message using the specified format string and arguments. * * @param level The logging Level. * @param marker the marker data specific to this log statement. * @param format The format String. * @param params Arguments specified by the format. */ void printf(Level level, Marker marker, String format, Object... params); /** * Logs a formatted message using the specified format string and arguments. * * @param level The logging Level. * @param format The format String. * @param params Arguments specified by the format. */ void printf(Level level, String format, Object... params); /** * Logs an exception or error to be thrown. This may be coded as: * *
     * throw logger.throwing(Level.DEBUG, myException);
     * 
* * @param the Throwable type. * @param level The logging Level. * @param t The Throwable. * @return the Throwable. */ T throwing(Level level, T t); /** * Logs an exception or error to be thrown. This may be coded as: * *
     * throw logger.throwing(myException);
     * 
* * @param the Throwable type. * @param t The Throwable. * @return the Throwable. */ T throwing(T t); /** * Logs a message with the specific Marker at the {@link Level#TRACE TRACE} level. * * @param marker the marker data specific to this log statement * @param msg the message string to be logged */ void trace(Marker marker, Message msg); /** * Logs a message with the specific Marker at the {@link Level#TRACE TRACE} level. * * @param marker the marker data specific to this log statement * @param msg the message string to be logged * @param t A Throwable or null. */ void trace(Marker marker, Message msg, Throwable t); /** * Logs a message which is only to be constructed if the logging level is the {@link Level#TRACE TRACE} level with * the specified Marker. The {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the * {@code Message}. * * @param marker the marker data specific to this log statement * @param msgSupplier A function, which when called, produces the desired log message. * @since 2.4 */ void trace(Marker marker, MessageSupplier msgSupplier); /** * Logs a message (only to be constructed if the logging level is the {@link Level#TRACE TRACE} level) with the * specified Marker and including the stack trace of the {@link Throwable} t passed as parameter. The * {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the {@code Message}. * * @param marker the marker data specific to this log statement * @param msgSupplier A function, which when called, produces the desired log message. * @param t A Throwable or null. * @since 2.4 */ void trace(Marker marker, MessageSupplier msgSupplier, Throwable t); /** * Logs a message object with the {@link Level#TRACE TRACE} level. * * @param marker the marker data specific to this log statement * @param message the message object to log. */ void trace(Marker marker, Object message); /** * Logs a message at the {@link Level#TRACE TRACE} level including the stack trace of the {@link Throwable} * t passed as parameter. * * @param marker the marker data specific to this log statement * @param message the message object to log. * @param t the exception to log, including its stack trace. * @see #debug(String) */ void trace(Marker marker, Object message, Throwable t); /** * Logs a message object with the {@link Level#TRACE TRACE} level. * * @param marker the marker data specific to this log statement * @param message the message string to log. */ void trace(Marker marker, String message); /** * Logs a message with parameters at the {@link Level#TRACE TRACE} level. * * @param marker the marker data specific to this log statement * @param message the message to log; the format depends on the message factory. * @param params parameters to the message. * @see #getMessageFactory() */ void trace(Marker marker, String message, Object... params); /** * Logs a message with parameters which are only to be constructed if the logging level is the {@link Level#TRACE * TRACE} level. * * @param marker the marker data specific to this log statement * @param message the message to log; the format depends on the message factory. * @param paramSuppliers An array of functions, which when called, produce the desired log message parameters. * @since 2.4 */ void trace(Marker marker, String message, Supplier... paramSuppliers); /** * Logs a message at the {@link Level#TRACE TRACE} level including the stack trace of the {@link Throwable} * t passed as parameter. * * @param marker the marker data specific to this log statement * @param message the message object to log. * @param t the exception to log, including its stack trace. * @see #debug(String) */ void trace(Marker marker, String message, Throwable t); /** * Logs a message which is only to be constructed if the logging level is the {@link Level#TRACE TRACE} level with * the specified Marker. * * @param marker the marker data specific to this log statement * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the * message factory. * @since 2.4 */ void trace(Marker marker, Supplier msgSupplier); /** * Logs a message (only to be constructed if the logging level is the {@link Level#TRACE TRACE} level) with the * specified Marker and including the stack trace of the {@link Throwable} t passed as parameter. * * @param marker the marker data specific to this log statement * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the * message factory. * @param t A Throwable or null. * @since 2.4 */ void trace(Marker marker, Supplier msgSupplier, Throwable t); /** * Logs a message with the specific Marker at the {@link Level#TRACE TRACE} level. * * @param msg the message string to be logged */ void trace(Message msg); /** * Logs a message with the specific Marker at the {@link Level#TRACE TRACE} level. * * @param msg the message string to be logged * @param t A Throwable or null. */ void trace(Message msg, Throwable t); /** * Logs a message which is only to be constructed if the logging level is the {@link Level#TRACE TRACE} level. The * {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the {@code Message}. * * @param msgSupplier A function, which when called, produces the desired log message. * @since 2.4 */ void trace(MessageSupplier msgSupplier); /** * Logs a message (only to be constructed if the logging level is the {@link Level#TRACE TRACE} level) including the * stack trace of the {@link Throwable} t passed as parameter. The {@code MessageSupplier} may or may * not use the {@link MessageFactory} to construct the {@code Message}. * * @param msgSupplier A function, which when called, produces the desired log message. * @param t the exception to log, including its stack trace. * @since 2.4 */ void trace(MessageSupplier msgSupplier, Throwable t); /** * Logs a message object with the {@link Level#TRACE TRACE} level. * * @param message the message object to log. */ void trace(Object message); /** * Logs a message at the {@link Level#TRACE TRACE} level including the stack trace of the {@link Throwable} * t passed as parameter. * * @param message the message object to log. * @param t the exception to log, including its stack trace. * @see #debug(String) */ void trace(Object message, Throwable t); /** * Logs a message object with the {@link Level#TRACE TRACE} level. * * @param message the message string to log. */ void trace(String message); /** * Logs a message with parameters at the {@link Level#TRACE TRACE} level. * * @param message the message to log; the format depends on the message factory. * @param params parameters to the message. * @see #getMessageFactory() */ void trace(String message, Object... params); /** * Logs a message with parameters which are only to be constructed if the logging level is the {@link Level#TRACE * TRACE} level. * * @param message the message to log; the format depends on the message factory. * @param paramSuppliers An array of functions, which when called, produce the desired log message parameters. * @since 2.4 */ void trace(String message, Supplier... paramSuppliers); /** * Logs a message at the {@link Level#TRACE TRACE} level including the stack trace of the {@link Throwable} * t passed as parameter. * * @param message the message object to log. * @param t the exception to log, including its stack trace. * @see #debug(String) */ void trace(String message, Throwable t); /** * Logs a message which is only to be constructed if the logging level is the {@link Level#TRACE TRACE} level. * * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the * message factory. * @since 2.4 */ void trace(Supplier msgSupplier); /** * Logs a message (only to be constructed if the logging level is the {@link Level#TRACE TRACE} level) including the * stack trace of the {@link Throwable} t passed as parameter. * * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the * message factory. * @param t the exception to log, including its stack trace. * @since 2.4 */ void trace(Supplier msgSupplier, Throwable t); /** * Logs a message with the specific Marker at the {@link Level#WARN WARN} level. * * @param marker the marker data specific to this log statement * @param msg the message string to be logged */ void warn(Marker marker, Message msg); /** * Logs a message with the specific Marker at the {@link Level#WARN WARN} level. * * @param marker the marker data specific to this log statement * @param msg the message string to be logged * @param t A Throwable or null. */ void warn(Marker marker, Message msg, Throwable t); /** * Logs a message which is only to be constructed if the logging level is the {@link Level#WARN WARN} level with the * specified Marker. The {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the * {@code Message}. * * @param marker the marker data specific to this log statement * @param msgSupplier A function, which when called, produces the desired log message. * @since 2.4 */ void warn(Marker marker, MessageSupplier msgSupplier); /** * Logs a message (only to be constructed if the logging level is the {@link Level#WARN WARN} level) with the * specified Marker and including the stack warn of the {@link Throwable} t passed as parameter. The * {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the {@code Message}. * * @param marker the marker data specific to this log statement * @param msgSupplier A function, which when called, produces the desired log message. * @param t A Throwable or null. * @since 2.4 */ void warn(Marker marker, MessageSupplier msgSupplier, Throwable t); /** * Logs a message object with the {@link Level#WARN WARN} level. * * @param marker the marker data specific to this log statement * @param message the message object to log. */ void warn(Marker marker, Object message); /** * Logs a message at the {@link Level#WARN WARN} level including the stack trace of the {@link Throwable} * t passed as parameter. * * @param marker the marker data specific to this log statement * @param message the message object to log. * @param t the exception to log, including its stack trace. */ void warn(Marker marker, Object message, Throwable t); /** * Logs a message object with the {@link Level#WARN WARN} level. * * @param marker the marker data specific to this log statement * @param message the message object to log. */ void warn(Marker marker, String message); /** * Logs a message with parameters at the {@link Level#WARN WARN} level. * * @param marker the marker data specific to this log statement. * @param message the message to log; the format depends on the message factory. * @param params parameters to the message. * @see #getMessageFactory() * * TODO Likely to misinterpret existing log4j client code that intended to call info(Object,Throwable). Incurs * array creation expense on every call. (RG) I assume you meant warn, not info. It isn't possible to be * misinterpreted as the previous method is for that signature.Methods should be added to avoid varargs for 1, * 2 or 3 parameters. */ void warn(Marker marker, String message, Object... params); /** * Logs a message with parameters which are only to be constructed if the logging level is the {@link Level#WARN * WARN} level. * * @param marker the marker data specific to this log statement * @param message the message to log; the format depends on the message factory. * @param paramSuppliers An array of functions, which when called, produce the desired log message parameters. * @since 2.4 */ void warn(Marker marker, String message, Supplier... paramSuppliers); /** * Logs a message at the {@link Level#WARN WARN} level including the stack trace of the {@link Throwable} * t passed as parameter. * * @param marker the marker data specific to this log statement * @param message the message object to log. * @param t the exception to log, including its stack trace. */ void warn(Marker marker, String message, Throwable t); /** * Logs a message which is only to be constructed if the logging level is the {@link Level#WARN WARN} level with the * specified Marker. * * @param marker the marker data specific to this log statement * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the * message factory. * @since 2.4 */ void warn(Marker marker, Supplier msgSupplier); /** * Logs a message (only to be constructed if the logging level is the {@link Level#WARN WARN} level) with the * specified Marker and including the stack warn of the {@link Throwable} t passed as parameter. * * @param marker the marker data specific to this log statement * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the * message factory. * @param t A Throwable or null. * @since 2.4 */ void warn(Marker marker, Supplier msgSupplier, Throwable t); /** * Logs a message with the specific Marker at the {@link Level#WARN WARN} level. * * @param msg the message string to be logged */ void warn(Message msg); /** * Logs a message with the specific Marker at the {@link Level#WARN WARN} level. * * @param msg the message string to be logged * @param t A Throwable or null. */ void warn(Message msg, Throwable t); /** * Logs a message which is only to be constructed if the logging level is the {@link Level#WARN WARN} level. The * {@code MessageSupplier} may or may not use the {@link MessageFactory} to construct the {@code Message}. * * @param msgSupplier A function, which when called, produces the desired log message. * @since 2.4 */ void warn(MessageSupplier msgSupplier); /** * Logs a message (only to be constructed if the logging level is the {@link Level#WARN WARN} level) including the * stack warn of the {@link Throwable} t passed as parameter. The {@code MessageSupplier} may or may * not use the {@link MessageFactory} to construct the {@code Message}. * * @param msgSupplier A function, which when called, produces the desired log message. * @param t the exception to log, including its stack warn. * @since 2.4 */ void warn(MessageSupplier msgSupplier, Throwable t); /** * Logs a message object with the {@link Level#WARN WARN} level. * * @param message the message object to log. */ void warn(Object message); /** * Logs a message at the {@link Level#WARN WARN} level including the stack trace of the {@link Throwable} * t passed as parameter. * * @param message the message object to log. * @param t the exception to log, including its stack trace. */ void warn(Object message, Throwable t); /** * Logs a message object with the {@link Level#WARN WARN} level. * * @param message the message string to log. */ void warn(String message); /** * Logs a message with parameters at the {@link Level#WARN WARN} level. * * @param message the message to log; the format depends on the message factory. * @param params parameters to the message. * @see #getMessageFactory() * * TODO Likely to misinterpret existing log4j client code that intended to call info(Object,Throwable). Incurs * array creation expense on every call. (RG) I assume you meant warn, not info. It isn't possible to be * misinterpreted as the previous method is for that signature.Methods should be added to avoid varargs for 1, * 2 or 3 parameters. */ void warn(String message, Object... params); /** * Logs a message with parameters which are only to be constructed if the logging level is the {@link Level#WARN * WARN} level. * * @param message the message to log; the format depends on the message factory. * @param paramSuppliers An array of functions, which when called, produce the desired log message parameters. * @since 2.4 */ void warn(String message, Supplier... paramSuppliers); /** * Logs a message at the {@link Level#WARN WARN} level including the stack trace of the {@link Throwable} * t passed as parameter. * * @param message the message object to log. * @param t the exception to log, including its stack trace. */ void warn(String message, Throwable t); /** * Logs a message which is only to be constructed if the logging level is the {@link Level#WARN WARN} level. * * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the * message factory. * @since 2.4 */ void warn(Supplier msgSupplier); /** * Logs a message (only to be constructed if the logging level is the {@link Level#WARN WARN} level) including the * stack warn of the {@link Throwable} t passed as parameter. * * @param msgSupplier A function, which when called, produces the desired log message; the format depends on the * message factory. * @param t the exception to log, including its stack warn. * @since 2.4 */ void warn(Supplier msgSupplier, Throwable t); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy