1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * The ASF licenses this file to You under the Apache license, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the license for the specific language governing permissions and 15 * limitations under the license. 16 */ 17 package org.apache.logging.log4j.spi; 18 19 import org.apache.logging.log4j.Level; 20 import org.apache.logging.log4j.Logger; 21 import org.apache.logging.log4j.Marker; 22 import org.apache.logging.log4j.message.Message; 23 24 /** 25 * Extends the {@code Logger} interface with methods that facilitate implementing or extending {@code Logger}s. Users 26 * should not need to use this interface. 27 */ 28 public interface ExtendedLogger extends Logger { 29 30 /** 31 * Determines if logging is enabled. 32 * 33 * @param level The logging Level to check. 34 * @param marker A Marker or null. 35 * @param message The Message. 36 * @param t A Throwable. 37 * @return True if logging is enabled, false otherwise. 38 */ 39 boolean isEnabled(Level level, Marker marker, Message message, Throwable t); 40 41 /** 42 * Determines if logging is enabled. 43 * 44 * @param level The logging Level to check. 45 * @param marker A Marker or null. 46 * @param message The message. 47 * @param t A Throwable. 48 * @return True if logging is enabled, false otherwise. 49 */ 50 boolean isEnabled(Level level, Marker marker, Object message, Throwable t); 51 52 /** 53 * Determines if logging is enabled. 54 * 55 * @param level The logging Level to check. 56 * @param marker A Marker or null. 57 * @param message The message. 58 * @return True if logging is enabled, false otherwise. 59 * @param t the exception to log, including its stack trace. 60 */ 61 boolean isEnabled(Level level, Marker marker, String message, Throwable t); 62 63 /** 64 * Determine if logging is enabled. 65 * 66 * @param level The logging Level to check. 67 * @param marker A Marker or null. 68 * @param message The message. 69 * @return True if logging is enabled, false otherwise. 70 */ 71 boolean isEnabled(Level level, Marker marker, String message); 72 73 /** 74 * Determines if logging is enabled. 75 * 76 * @param level The logging Level to check. 77 * @param marker A Marker or null. 78 * @param message The message. 79 * @param params The parameters. 80 * @return True if logging is enabled, false otherwise. 81 */ 82 boolean isEnabled(Level level, Marker marker, String message, Object... params); 83 84 /** 85 * Logs a message if the specified level is active. 86 * 87 * @param fqcn The fully qualified class name of the logger entry point, used to determine the caller class and 88 * method when location information needs to be logged. 89 * @param level The logging Level to check. 90 * @param marker A Marker or null. 91 * @param message The Message. 92 * @param t the exception to log, including its stack trace. 93 */ 94 void logIfEnabled(String fqcn, Level level, Marker marker, Message message, Throwable t); 95 96 /** 97 * Logs a message if the specified level is active. 98 * 99 * @param fqcn The fully qualified class name of the logger entry point, used to determine the caller class and 100 * method when location information needs to be logged. 101 * @param level The logging Level to check. 102 * @param marker A Marker or null. 103 * @param message The message. 104 * @param t the exception to log, including its stack trace. 105 */ 106 void logIfEnabled(String fqcn, Level level, Marker marker, Object message, Throwable t); 107 108 /** 109 * Logs a message if the specified level is active. 110 * 111 * @param fqcn The fully qualified class name of the logger entry point, used to determine the caller class and 112 * method when location information needs to be logged. 113 * @param level The logging Level to check. 114 * @param marker A Marker or null. 115 * @param message The message. 116 * @param t the exception to log, including its stack trace. 117 */ 118 void logIfEnabled(String fqcn, Level level, Marker marker, String message, Throwable t); 119 120 /** 121 * Logs a message if the specified level is active. 122 * 123 * @param fqcn The fully qualified class name of the logger entry point, used to determine the caller class and 124 * method when location information needs to be logged. 125 * @param level The logging Level to check. 126 * @param marker A Marker or null. 127 * @param message The message. 128 */ 129 void logIfEnabled(String fqcn, Level level, Marker marker, String message); 130 131 /** 132 * Logs a message if the specified level is active. 133 * 134 * @param fqcn The fully qualified class name of the logger entry point, used to determine the caller class and 135 * method when location information needs to be logged. 136 * @param level The logging Level to check. 137 * @param marker A Marker or null. 138 * @param message The message format. 139 * @param params The message parameters. 140 */ 141 void logIfEnabled(String fqcn, Level level, Marker marker, String message, Object... params); 142 143 /** 144 * Always logs a message at the specified level. It is the responsibility of the caller to ensure the specified 145 * level is enabled. 146 * 147 * @param fqcn The fully qualified class name of the logger entry point, used to determine the caller class and 148 * method when location information needs to be logged. 149 * @param level The logging Level to check. 150 * @param marker A Marker or null. 151 * @param message The Message. 152 * @param t the exception to log, including its stack trace. 153 */ 154 void logMessage(String fqcn, Level level, Marker marker, Message message, Throwable t); 155 }