簡體   English   中英

Log4j - 強制日志消息參數

[英]Log4j - Force log message parameters

我試圖強制 log4j 消息中的細節,而不僅僅是一個字符串。 最終我想有類似的東西:

logger.info("組件", "錯誤代碼", "錯誤信息");

我什至可以為組件使用枚舉。

然后我希望消息在日志中顯示為“時間 - 組件 - 代碼 - 消息”

有任何想法嗎?

一個非常簡單的解決方案(對於這種特殊情況):

logger.info(
      String.format("%s - %s - %s", "component", "error code", "error message"));

或改進版本:

logger.info(createMessage("component", "error code", "error message"));

public static String createMessage(
                 String component, String errorCode, String errorMessage) {
   return String.format("%s - %s - %s", 
                 "component", "error code", "error message");
}

對於更通用的解決方案,考慮將原始記錄器 class 包裝到自定義記錄器 class 並實現一個info方法,該方法采用三個 arguments 並將新消息委托給internalLogger.info(String message)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM