基於slf4j的日誌工具類
public class LogUtil {
private static final Logger log = LoggerFactory
.getLogger(LogUtil.class);
private static final int PROCESS_TOTAL_LENGTH = 150;
private static final String PROCESS_FILL_FLAG = "*";
//DEBUG級別:方法執行開始日誌輸出,入參為需要列印的方法入參
public static void getMethodStartLog(Map
if(!log.isInfoEnabled()){
return;
}
String clazz = Thread.currentThread() .getStackTrace()[2].getClassName();
String method = Thread.currentThread() .getStackTrace()[2].getMethodName();
String out = clazz+" "+method+" is starting";
StringBuffer sb = new StringBuffer();
int outLength = out.length();
int start = (PROCESS_TOTAL_LENGTH - outLength)/2;
int end = 0;
if(outLength%2==0){
end = (PROCESS_TOTAL_LENGTH - outLength)/2;
}else{
end = (PROCESS_TOTAL_LENGTH - outLength)/2+1;
}
for(int i=0;i sb.append(PROCESS_FILL_FLAG); } out = sb.toString()+out; sb = new StringBuffer(); for(int i=0;i sb.append(PROCESS_FILL_FLAG); } out = out+sb.toString(); log.debug(out); if(objects !=null){ for (Map.Entry log.debug("inMethod parameter["+m.getKey()+"] is : "); log.debug(m.getValue()+""); } } } //DEBUG級別:方法執行結束日誌輸出,入參為需要列印的方法輸出,process級別的方法 public static void getMethodEndLog(Map if(!log.isInfoEnabled()){ return; } String clazz = Thread.currentThread() .getStackTrace()[2].getClassName(); String method = Thread.currentThread() .getStackTrace()[2].getMethodName(); String out = clazz+" "+method+" is end"; StringBuffer sb = new StringBuffer(); int outLength = out.length(); int start = (PROCESS_TOTAL_LENGTH - outLength)/2; int end = 0; if(outLength%2==0){ end = (PROCESS_TOTAL_LENGTH - outLength)/2; }else{ end = (PROCESS_TOTAL_LENGTH - outLength)/2+1; } for(int i=0;i sb.append(PROCESS_FILL_FLAG); } out = sb.toString()+out; sb = new StringBuffer(); for(int i=0;i sb.append(PROCESS_FILL_FLAG); } out = out+sb.toString(); if(objects !=null){ for (Map.Entry log.debug("inMethod parameter["+m.getKey()+"] is : "); log.debug(m.getValue()+""); } } log.debug(out); } @Deprecated public static void getMethodDebugProcessLog(String msg){ if(!log.isDebugEnabled()){ return; }else{ log.debug(msg); } }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4830/viewspace-2804278/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 基於SLF4J MDC機制實現日誌的鏈路追蹤
- 日誌框架SLF4J框架
- 日誌SLF4J解惑
- 封裝一個基於NLog+NLog.Mongo的日誌記錄工具類LogUtil封裝Go
- SLF4J 日誌門面
- SLF4J記錄日誌&&日誌檔案的滾動策略__SpringBootSpring Boot
- 基於 MongoDB 的 python 日誌功能MongoDBPython
- Java日誌框架:SLF4J詳解Java框架
- 日誌?聊一聊slf4j吧
- Java中的日誌管理:SLF4J與LogbackJava
- SpringBoot中的slf4j日誌依賴關係Spring Boot
- 日誌-log4j2基於AsyncLogger的非同步日誌列印非同步
- 日誌-log4j2基於AsyncAppender的非同步日誌列印APP非同步
- SpringBoot裡slf4j日誌功能的預設實現Spring Boot
- SLF4J日誌記錄常見寫法
- Java日誌手機號脫敏工具類Java
- mysql 基於日誌的主從複製MySql
- 基於第三方CocoaLumberjack(DDLog)做儲存不同分類的日誌
- 徹底解決SLF4J的日誌衝突的問題
- Java日誌框架:slf4j作用及其實現原理Java框架
- 基於事件日誌的流程挖掘簡介 - Chaudhuri事件
- Logback詳細整理,基於springboot的日誌配置Spring Boot
- 基於 kafka 的日誌資料建模測試Kafka
- 基於.NetCore3.1系列 —— 日誌記錄之自定義日誌元件NetCore元件
- 基於SLF4J的MDC機制和Dubbo的Filter機制,實現分散式系統的日誌全鏈路追蹤Filter分散式
- 微服務架構Day02-SpringBoot日誌slf4j微服務架構Spring Boot
- Log4j2 + SLF4j打造日誌系統
- 基於flink和drools的實時日誌處理
- springboot超級詳細的日誌配置(基於logback)Spring Boot
- [elk]基於elk的業務日誌格式設計
- 基於go開發日誌處理包Go
- Log 工具列印日誌
- Unity——日誌列印工具Unity
- 簡單的C#日誌類C#
- Laravel 建立分類日誌Laravel
- Grafana系列-Loki-基於日誌實現告警GrafanaLoki
- .NET Core 基於 Grafana Loki 日誌初體驗GrafanaLoki
- 基於AOP和ThreadLocal實現日誌記錄thread