1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one 3 * or more contributor license agreements. See the NOTICE file 4 * distributed with this work for additional information 5 * regarding copyright ownership. The ASF licenses this file 6 * to you under the Apache License, Version 2.0 (the 7 * "License"); you may not use this file except in compliance 8 * with the License. You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, 13 * software distributed under the License is distributed on an 14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 * KIND, either express or implied. See the License for the 16 * specific language governing permissions and limitations 17 * under the License. 18 */ 19 package org.apache.maven.enforcer.rule.api; 20 21 import java.util.function.Supplier; 22 23 /** 24 * Logger used by enforcer rule. 25 * 26 * @author Slawomir Jaranowski 27 * @since 3.2.1 28 */ 29 public interface EnforcerLogger { 30 31 /** 32 * Log message in {@code warn} or {@code error} level according to current rule {@link EnforcerLevel}. 33 * 34 * @param message a massage to log 35 */ 36 void warnOrError(CharSequence message); 37 38 /** 39 * Log message in {@code warn} or {@code error} level according to current rule {@link EnforcerLevel}. 40 * <p> 41 * {@code messageSupplier} will be evaluate only when corresponding log level is enabled. 42 * 43 * @param messageSupplier a supplier for message to log 44 */ 45 void warnOrError(Supplier<CharSequence> messageSupplier); 46 47 /** 48 * Is the logger instance enabled for the DEBUG level? 49 * 50 * @return {@code true} if this Logger is enabled for the DEBUG level, {@code false} otherwise. 51 * @since 3.4.0 52 */ 53 boolean isDebugEnabled(); 54 55 /** 56 * Log message in {@code debug} level. 57 * 58 * @param message a massage to log 59 */ 60 void debug(CharSequence message); 61 62 /** 63 * Log message in {@code debug} level. 64 * <p> 65 * {@code messageSupplier} will be evaluate only when corresponding log level is enabled. 66 * 67 * @param messageSupplier a supplier for message to log 68 */ 69 void debug(Supplier<CharSequence> messageSupplier); 70 71 /** 72 * Is the logger instance enabled for the INFO level? 73 * 74 * @return {@code true} if this Logger is enabled for the INFO level, {@code false} otherwise. 75 * @since 3.4.0 76 */ 77 boolean isInfoEnabled(); 78 79 /** 80 * Log message in {@code info} level. 81 * 82 * @param message a massage to log 83 */ 84 void info(CharSequence message); 85 86 /** 87 * Log message in {@code info} level. 88 * <p> 89 * {@code messageSupplier} will be evaluate only when corresponding log level is enabled. 90 * 91 * @param messageSupplier a supplier for message to log 92 */ 93 void info(Supplier<CharSequence> messageSupplier); 94 95 /** 96 * Is the logger instance enabled for the WARN level? 97 * 98 * @return {@code true} if this Logger is enabled for the WARN level, {@code false} otherwise. 99 * @since 3.4.0 100 */ 101 boolean isWarnEnabled(); 102 103 /** 104 * Log message in {@code warn} level. 105 * 106 * @param message a massage to log 107 */ 108 void warn(CharSequence message); 109 110 /** 111 * Log message in {@code warn} level. 112 * <p> 113 * {@code messageSupplier} will be evaluate only when corresponding log level is enabled. 114 * 115 * @param messageSupplier a supplier for message to log 116 */ 117 void warn(Supplier<CharSequence> messageSupplier); 118 119 /** 120 * Is the logger instance enabled for the ERROR level? 121 * 122 * @return {@code true} if this Logger is enabled for the ERROR level, {@code false} otherwise. 123 * @since 3.4.0 124 */ 125 boolean isErrorEnabled(); 126 127 /** 128 * Log message in {@code error} level. 129 * 130 * @param message a massage to log 131 */ 132 void error(CharSequence message); 133 134 /** 135 * Log message in {@code error} level. 136 * <p> 137 * {@code messageSupplier} will be evaluate only when corresponding log level is enabled. 138 * 139 * @param messageSupplier a supplier for message to log 140 */ 141 void error(Supplier<CharSequence> messageSupplier); 142 }