2017-04-14 4 views
1

を置換SLF4Jロガーは、私は現在、私のクラスでSLF4Jロガーを使用しています

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

私を確認してください以下のログバック構成:

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

最新の安定版v ersion slf4j 1.7.25 {}はまだ正しく置換されていません。

次のテキストは、logger.infoの出力である:

"成功システムにログインしているユーザ{}"

IはLoggerFactoryを使用してロガーを作成する:

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

実行時にクラスパスにあるslf4j実装は何ですか?何が記録されていますか? –

+0

どのようにロガーを作成していますか? 'logger.info'の出力は何ですか? –

+0

更新された編集を見つけてください – rjcossa

答えて

1

調査の結果、問題がログバックで使用されているエンコーダパターンにあることがわかりました。

Iは、エンコーダパターンを変更:

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

、すべてがそれに応じて作業を開始し、現在{}置換が正常に行われています。