SLF4j的日志工具类

需要引入slf4j的依赖

 <!-- Slf4j 依赖 -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.30</version>
        </dependency>

工具类


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * 日志工具
 *
 * @author burns
 */
public class LoggerHelper {

    /**
     * info
     *
     * @param currentClass
     * @param message      写入的日志消息
     */
    public static void info(Class<?> currentClass, String message, Object... args) {
        Logger log = LoggerFactory.getLogger(currentClass);
        log.info(message, args);
    }

    /**
     * info
     *
     * @param currentClass
     * @param message      写入的日志消息
     * @param t            记录抛出的异常信息。
     */
    public static void info(Class<?> currentClass, String message, Throwable t) {
        Logger log = LoggerFactory.getLogger(currentClass);
        log.info(message, t);
    }

    /**
     * info
     *
     * @param currentClass
     * @param message
     * @param t
     * @param args
     */
    public static void info(Class<?> currentClass, String message, Throwable t, Object... args) {
        Logger log = LoggerFactory.getLogger(currentClass);
        log.info(message, t);
        log.info(message, args);
    }

    /**
     * debug
     *
     * @param currentClass
     * @param message      写入的日志消息
     */
    public static void debug(Class<?> currentClass, String message, Object... args) {
        Logger log = LoggerFactory.getLogger(currentClass);
        log.debug(message, args);
    }

    /**
     * debug
     *
     * @param currentClass
     * @param message      写入的日志消息
     * @param t            记录抛出的异常信息。
     */
    public static void debug(Class<?> currentClass, String message, Throwable t) {
        Logger log = LoggerFactory.getLogger(currentClass);
        log.debug(message, t);
    }

    /**
     * debug
     *
     * @param currentClass
     * @param message
     * @param t
     * @param args
     */
    public static void debug(Class<?> currentClass, String message, Throwable t, Object... args) {
        Logger log = LoggerFactory.getLogger(currentClass);
        log.debug(message, t);
        log.debug(message, args);
    }

    /**
     * warn
     *
     * @param currentClass
     * @param message      写入的日志消息
     */
    public static void warn(Class<?> currentClass, String message, Object... args) {
        Logger log = LoggerFactory.getLogger(currentClass);
        log.warn(message, args);
    }

    /**
     * warn
     *
     * @param currentClass
     * @param message      写入的日志消息
     * @param t            记录抛出的异常信息。
     */
    public static void warn(Class<?> currentClass, String message, Throwable t) {
        Logger log = LoggerFactory.getLogger(currentClass);
        log.warn(message, t);
    }

    /**
     * warn
     *
     * @param currentClass
     * @param message
     * @param t
     * @param args
     */
    public static void warn(Class<?> currentClass, String message, Throwable t, Object... args) {
        Logger log = LoggerFactory.getLogger(currentClass);
        log.warn(message, t);
        log.warn(message, args);
    }

    /**
     * error
     * 使用该方法打印err不会发送报警邮件。
     *
     * @param currentClass
     * @param message      写入的日志消息
     */
    public static void err(Class<?> currentClass, String message, Object... args) {
        Logger log = LoggerFactory.getLogger(currentClass);
        log.error(message, args);
    }

    /**
     * error
     * 使用该方法会自动判断是否发送报警邮件
     *
     * @param message 写入的日志消息
     */
    public static void err(Class<?> currentClass, String message, Throwable t) {
        if (t instanceof LogicException) {
            Logger log = LoggerFactory.getLogger(currentClass);
            log.error(message, t);
        } else {
            errAndEmail(currentClass, message, t);
        }
    }

    /**
     * err
     * 使用该方法会自动判断是否发送报警邮件
     *
     * @param currentClass
     * @param message
     * @param t
     * @param args
     */
    public static void err(Class<?> currentClass, String message, Throwable t, Object... args) {
        Logger log = LoggerFactory.getLogger(currentClass);
        log.error(message, args);
        if (t instanceof LogicException) {
            log.error(message, t);
        } else {
            errAndEmail(currentClass, message, t);
        }
    }

    /**
     * 记录log不发送邮件
     *
     * @param currentClass
     * @param message
     * @param t
     * @param args
     */
    public static void errNoMail(Class<?> currentClass, String message, Throwable t, Object... args) {
        Logger log = LoggerFactory.getLogger(currentClass);
        log.error(message, args);
        log.error(message, t);
    }

    /**
     * error
     * 使用该方法肯定会发送报警邮件
     *
     * @param currentClass
     * @param message      写入的日志消息
     */
    public static void errAndEmail(Class<?> currentClass, String message, Object... args) {
        Logger log = LoggerFactory.getLogger(currentClass);
        log.error("SERIOUS-" + message, args);
    }

    /**
     * error
     *
     * @param message 写入的日志消息
     */
    public static void errAndEmail(Class<?> currentClass, String message, Throwable t) {
        Logger log = LoggerFactory.getLogger(currentClass);
        log.error("SERIOUS-" + message, t);
    }

}

猜你喜欢

转载自blog.csdn.net/zp357252539/article/details/129951585