self4j日志工具类 : LogUtil

本文介绍了一个用于简化日志记录的日志工具类封装,通过该工具类可以方便地进行debug、info、warn和error级别的日志输出,支持参数化消息格式。
import java.text.MessageFormat;

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


/**
 * 
 * 日志工具类
 */
public class LogUtil {

    /**
     * logger
     */
    protected Logger log = null;

    private LogUtil(String logName) {
        log = LoggerFactory.getLogger(logName);
    }

    private LogUtil(Class<?> clazz) {
        log = LoggerFactory.getLogger(clazz);
    }
    
    private LogUtil(Logger log) {
        this.log=log;
    }
    
    /**
     * 
     * 
     * @param logName
     * @return
     */
    public static LogUtil getLogUtil(String logName) {
        return new LogUtil( logName); 
    }
    
    /**
     * 
     * 
     * @param clazz
     * @return
     */
    public static LogUtil getLogUtil(Class<?> clazz) {
        return new LogUtil(clazz);
    }
    
    public static LogUtil getLogUtil(Logger log) {
        return new LogUtil(log);
    }

    /**
     * debug日志
     * 
     * @param message
     * @param args
     */
    public void debug(String message, Object... args) {

        if (log.isDebugEnabled()) {
            log.debug(MessageFormat.format(message, args));
        }
    }

    /**
     * debug日志
     * 
     * @param message
     * @param args
     */
    public void debug(Throwable e, String message, Object... args) {

        if (log.isDebugEnabled()) {
            log.debug(MessageFormat.format(message, args), e);
        }
    }

    /**
     * info级别日志
     * 
     * @param message
     * @param args
     */
    public void info(String message, Object... args) {

        if (log.isInfoEnabled()) {
            log.info(MessageFormat.format(message, args));
        }
    }

    /**
     * info级别日志
     * 
     * @param message
     * @param args
     */
    public void info(Throwable e, String message, Object... args) {

        if (log.isInfoEnabled()) {
            log.info(MessageFormat.format(message, args), e);
        }
    }

    /**
     * warn级别日志
     * 
     * @param message
     * @param args
     */
    public void warn(String message, Object... args) {

        if (log.isWarnEnabled()) {
            log.warn(MessageFormat.format(message, args));
        }
    }

    /**
     * warn级别日志
     * 
     * @param message
     * @param args
     */
    public void warn(Throwable e, String message, Object... args) {

        if (log.isWarnEnabled()) {
            log.warn(MessageFormat.format(message, args), e);
        }
    }

    /**
     * error级别日志
     * 
     * @param message
     * @param args
     */
    public void error(Throwable e, String message, Object... args) {

        if (log.isErrorEnabled()) {
            log.error(MessageFormat.format(message, args), e);
        }
    }

    /**
     * error级别日志
     * 
     * @param message
     * @param args
     */
    public void error(String message, Object... args) {

        if (log.isErrorEnabled()) {
            log.error(MessageFormat.format(message, args));
        }
    }

}





使用:

在对应的类中增加常量

private static final LogUtil logger = LogUtil.getLogUtil(Test.class);

logger.info("日志信息:{0}",msg);

 

DALVIK THREADS (261): "main" prio=5 tid=1 Runnable | group="main" sCount=0 ucsCount=0 flags=0 obj=0x7271e8c8 self=0xb400007852478c00 | sysTid=4102 nice=-10 cgrp=top-app sched=0/0 handle=0x7915495d28 | state=R schedstat=( 268220694457 159982194030 599140 ) utm=18413 stm=8408 core=6 HZ=100 | stack=0x7fe44e6000-0x7fe44e8000 stackSize=8188KB | held mutexes= "mutator lock"(shared held) at com.oplusos.systemui.common.util.LogUtil.d$default(unavailable:0) at com.oplusos.systemui.common.util.LogUtil.d(LogUtil.kt:0) at com.oplus.systemui.aod.common.AodManager.resetRotationWhilePowerOff(AodManager.java:208) at com.oplus.systemui.aod.display.AODDisplayUtil.onFinishedWakingUp(AODDisplayUtil.java:383) at com.oplus.systemui.aod.display.SmoothTransitionController$mWakefullnessLifeLifecycle$1.onFinishedWakingUp(SmoothTransitionController.kt:142) at com.android.systemui.keyguard.WakefulnessLifecycle$$ExternalSyntheticLambda2.accept(R8$$SyntheticClass:0) at com.android.systemui.keyguard.Lifecycle.lambda$dispatch$1(Lifecycle.java:49) at com.android.systemui.keyguard.Lifecycle.$r8$lambda$K7H-EqyxFiqZEuM4H7Ktyop3hSQ(Lifecycle.java:0) at com.android.systemui.keyguard.Lifecycle$$ExternalSyntheticLambda1.invoke(R8$$SyntheticClass:0) at com.android.app.tracing.TraceUtils.trace(TraceUtils.kt:118) at com.android.systemui.keyguard.Lifecycle.dispatch(Lifecycle.java:48) at com.android.systemui.keyguard.WakefulnessLifecycle.dispatchFinishedWakingUp(WakefulnessLifecycle.java:174) at com.android.systemui.keyguard.KeyguardLifecyclesDispatcher$KeyguardLifecycleHandler.handleMessage(KeyguardLifecyclesDispatcher.java:142) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loopOnce(Looper.java:282) at android.os.Looper.loop(Looper.java:387) at android.app.ActivityThread.main(ActivityThread.java:9494) at java.lang.reflect.Method.invoke(Native method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:60
03-29
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值