欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Log日志打印工具类(LoggerUtil)

程序员文章站 2022-07-12 16:31:47
...

/**

 * @ClassName LoggerUtil

 * @Description

 * 日志工具类,使用静态方法打印日志  无需每个类中定义日志对象

 * Logback对每个Logger对象做了缓存,每次调用LoggerFactory.getLogger(String name)时如果已存在则从缓存中获取不会生成新的对象;

 * 同时也不会有对象的创建与销毁造成的性能损失

 * @Author 

 * @Date 

 * @Version 

 **/

public class LoggerUtil {

 

    public static void error(String msg) {

        LoggerFactory.getLogger(getClassName()).error(msg);

    }

 

    public static void error(String msg, Object... obj) {

        LoggerFactory.getLogger(getClassName()).error(msg, obj);

    }

 

    public static void warn(String msg) {

        LoggerFactory.getLogger(getClassName()).error(msg);

    }

 

    public static void warn(String msg, Object... obj) {

        LoggerFactory.getLogger(getClassName()).error(msg, obj);

    }

 

    public static void info(String msg) {

        LoggerFactory.getLogger(getClassName()).info(msg);

    }

 

    public static void info(String msg, Object... obj) {

        LoggerFactory.getLogger(getClassName()).info(msg, obj);

    }

 

    public static void debug(String msg) {

        LoggerFactory.getLogger(getClassName()).debug(msg);

    }

 

    public static void debug(String msg, Object... obj) {

        LoggerFactory.getLogger(getClassName()).debug(msg, obj);

    }

 

    /**

     * 获取调用 error,info,debug静态类的类名

     */

    private static String getClassName() {

        return new SecurityManager() {

            public String getClassName() {

                return getClassContext()[3].getName();

            }

        }.getClassName();

    }

}

 

相关标签: log