slf4j logback實現日誌管理

2021-08-21 09:13:15 字數 2363 閱讀 8531

使用日誌框架的好處:   

定製輸出目標

定製輸出格式

攜帶上下文資訊

執行時選擇性輸出

靈活配置

優異的效能

實現分為兩部分 日誌門面 和 日誌實現,各個版本如下

篩選過程:

去掉jul,太過簡陋

jboss不是服務大眾

作者公升級log4j到logback

log4j2適應性不強

slf4j和logback為同一作者

使用:一、匯入jar  slf4j-api-1.7.5.jar  logback-classic-1.0.13.jar  logback-core-1.0.13.jar

二、配置logback.xml 放置src目錄下

<?xml version="1.0" encoding="utf-8"?>

error

accept

deny

$%d/error.%i.log$$

warn

accept

deny

$%d/warn.%i.log$$

info

accept

deny

$%d/info.%i.log$$

debug

accept

deny

$%d/debug.%i.log$$

trace

accept

deny

$%d/trace.%i.log$$

三、具體使用

private final logger logger = logge***ctory.getlogger(this.getclass());

logger.debug("this is a debug message.");

logger.info("this is an info message.");

logger.warn("this is a warn message.");

logger.error("this is an error message.");

四、每個類都要建立logger,比較麻煩,建立工具類

public class logutil 

// 最原始被呼叫的堆疊資訊

stacktraceelement caller = null;

// 日誌類名稱

string logclassname = logutil.class.getname();

// 迴圈遍歷到日誌類標識

boolean iseachlogclass = false;

// 遍歷堆疊資訊,獲取出最原始被呼叫的方法資訊

for (stacktraceelement stracktraceele : callstack)

// 下乙個非日誌類的堆疊,就是最原始被呼叫的方法

if(iseachlogclass) }}

return caller;

}/**

* 自動匹配請求類名,生成logger物件,此處 logger name 值為 [classname].[methodname]() line: [fileline]

* @return

* @author yzchen

* @date 2023年10月13日 下午11:50:59

*/private static logger logger() else

}public static void trace(string msg)

public static void trace(string msg, throwable e)

public static void debug(string msg)

public static void debug(string msg, throwable e)

public static void info(string msg)

public static void info(string msg, throwable e)

public static void warn(string msg)

public static void warn(string msg, throwable e)

public static void error(string msg)

public static void error(string msg, throwable e)

}

SLF4J Logback 檢視載入順序

start package demo04 import org.slf4j.logger import org.slf4j.logge ctory import ch.qos.logback.classic.loggercontext import ch.qos.logback.core.util....

spring boot使用slf4j輸出日誌

的配置,log也不例外,我們先看看pom.xml中的配置吧 如果之前有新增 html view plain copy dependency groupid org.springframework.boot groupid artifactid spring boot starter artifact...

日誌輸出方式 Slf4j註解實現

自己寫日誌的時候,肯定需要 private final logger logger logge ctory.getlogger loggertest.class 每次寫新的類,就需要重新寫logger 有簡單的方式,就是使用 slf4j註解 首先是在pom中引入 org.projectlombok ...