使用日誌框架的好處:
定製輸出目標
定製輸出格式
攜帶上下文資訊
執行時選擇性輸出
靈活配置
優異的效能
實現分為兩部分 日誌門面 和 日誌實現,各個版本如下
篩選過程:
去掉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 ...