2017-02-03 12 views
1

slfj4 MDCクラスを使用してログにログインしたユーザー名をログに出力しようとしています。ここで私のコードは、私が間違っている場所を教えてください。slfj4 logging - MDC.put関数で何も印刷されない

Javaファイル -

@RequestMapping(value = "/get/{id}", method = RequestMethod.GET, produces = "application/json") 
@ResponseBody 
public classResponse getuser(@PathVariable("user_id") Integer user_id, @RequestParam(value = "department_id", required = false) Integer department_id) { 
    JSONObject response = null; 
    String username = getUserName(); 
    logger.debug("Testing MDC."); 
    MDC.put("FirstName", "First"); 
    MDC.put("LastName", "Last"); 
    logger.info(":::ServiceContoller.getuser starts for userid" + user_id); 
    logger.info(":::ServiceContoller.getCreateEnvironment:Ends for username" + username); 
    try { 
     response = classServiceImpl.getUser1(username, user_id, department_id); 
     logger.info("Sending Environment details - {}", response); 
    } catch (Exception e) { 
     logger.error(e.getMessage(), e); 
     return new ClassResponse(Constants.STR_ERROR, "Error getting USERDetails"); 
    } 
    return new ClassResponse(Constants.STR_SUCCESS, response); 
} 

XMLプロパティファイル - logback.xml -

<?xml version="1.0" encoding="UTF-8" ?> 
<configuration> 
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> 
    <layout> 
     <Pattern>%-4r [%thread] %-5level C:%X{FirstName} N:%X{LastName} - %m%n</Pattern> 
    </layout>  
    </appender> 

    <root> 
    <level value="info" /> 
    <appender-ref ref="CONSOLE"/> 
    </root> 
</configuration> 

より多くの私が持っている必要がありますか、私は間違っているところを教えてください。どんな助けもありがたい。前もって感謝します。

答えて

0

あなたはこれを試すことができます。.. https://logback.qos.ch/manual/appenders.html

<configuration> 

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
    <!-- encoders are assigned the type 
     ch.qos.logback.classic.encoder.PatternLayoutEncoder by default --> 
    <encoder> 
     <pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern> 
    </encoder> 
    </appender> 

    <root level="DEBUG"> 
    <appender-ref ref="STDOUT" /> 
    </root> 
</configuration> 
+0

ありがとうございました。私もこれを試しました。しかし働いていませんでした。非常に良いプロジェクトが見つかりました:https://examples.javacodegeeks.com/enterprise-java/logback/logback-mapped-diagnostic-contexts-mdc-example/ それは私の問題を解決しました。 –

+0

あなたは問題が何かを見つけることができますか? – RamPrakash

関連する問題