2017-04-14 53 views
1

我目前使用的SLF4J記錄在我的課:SLF4J記錄器換人

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

雖然我使用{}替換在我的代碼如下:

logger.info("User {} successfully logged in to the system",u.getEmail()); 

請檢查我logback配置如下:

<encoder> 
    <pattern>%d [%thread] %-5level %logger{36} H:${HOSTNAME} - SC:%X{optionalParam} %msg%n</pattern> 
</encoder> 

儘管我正在使用最新的stable v ersion slf4j 1.7.25 {}仍未被正確替換。

以下文本是logger.info的輸出:

「用戶{}成功登錄到系統」

我使用創建記錄器的LoggerFactory:

Logger logger = LoggerFactory.getLogger(CryptoWorks.class); 
+0

什麼slf4j實現你在類路徑在運行時?什麼是記錄? –

+0

你是如何創建記錄器的? logger.info的輸出是什麼? – 2017-04-14 22:34:56

+0

請找到更新後的編輯 – rjcossa

回答

1

經過一番調查後,我看到問題出在logback使用的編碼器模式中。

我的編碼器模式改爲:

<encoder> 
     <pattern>%d [%thread] %-5level %logger{5} H:${HOSTNAME} - %msg%n</pattern> 
</encoder> 

所有的一切都開始開展相應的工作,現在{}替換被成功執行。