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.0 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 * Log message in {@code debug} level. 49 * 50 * @param message a massage to log 51 */ 52 void debug(CharSequence message); 53 54 /** 55 * Log message in {@code debug} level. 56 * <p> 57 * {@code messageSupplier} will be evaluate only when corresponding log level is enabled. 58 * 59 * @param messageSupplier a supplier for message to log 60 */ 61 void debug(Supplier<CharSequence> messageSupplier); 62 63 /** 64 * Log message in {@code info} level. 65 * 66 * @param message a massage to log 67 */ 68 void info(CharSequence message); 69 70 /** 71 * Log message in {@code info} level. 72 * <p> 73 * {@code messageSupplier} will be evaluate only when corresponding log level is enabled. 74 * 75 * @param messageSupplier a supplier for message to log 76 */ 77 void info(Supplier<CharSequence> messageSupplier); 78 79 /** 80 * Log message in {@code warn} level. 81 * 82 * @param message a massage to log 83 */ 84 void warn(CharSequence message); 85 86 /** 87 * Log message in {@code warn} 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 warn(Supplier<CharSequence> messageSupplier); 94 95 /** 96 * Log message in {@code error} level. 97 * 98 * @param message a massage to log 99 */ 100 void error(CharSequence message); 101 102 /** 103 * Log message in {@code error} level. 104 * <p> 105 * {@code messageSupplier} will be evaluate only when corresponding log level is enabled. 106 * 107 * @param messageSupplier a supplier for message to log 108 */ 109 void error(Supplier<CharSequence> messageSupplier); 110 }