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>
より多くの私が持っている必要がありますか、私は間違っているところを教えてください。どんな助けもありがたい。前もって感謝します。
ありがとうございました。私もこれを試しました。しかし働いていませんでした。非常に良いプロジェクトが見つかりました:https://examples.javacodegeeks.com/enterprise-java/logback/logback-mapped-diagnostic-contexts-mdc-example/ それは私の問題を解決しました。 –
あなたは問題が何かを見つけることができますか? – RamPrakash