Sub*_*a M 6 spring logback spring-boot
想要分享以下工作,我努力寻找这个信息:
要求是将业务关联ID(AccCode和Mac)放在每个日志语句中.这可以通过使用映射诊断上下文(MDC)来完成..
无需了解LOGBack appender-> Encoder-> Layout如何工作.
Spring启动log4j.properties具有以下模式:
LOG_LEVEL_PATTERN=%5p
LOG_PATTERN=[%d{yyyy-MM-dd HH:mm:ss.SSS}] boot%X{context} - ${PID} ${LOG_LEVEL_PATTERN} [%t] --- %c{1}: %m%n
# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=${LOG_PATTERN}
Run Code Online (Sandbox Code Playgroud)
使用自定义字段从application.properties覆盖LOG_LEVEL_PATTERN:
logging.pattern.level=AccCode:%X{AccCode} Mac:%X{Mac} %5p
Run Code Online (Sandbox Code Playgroud)
请注意,现在我们在布局中定义了两个额外的字段.AccCode和Mac.需要使用MDC提供这些新字段的值:
MDC.put("AccCode", "46014" );
MDC.put("Mac", "2025b9bcf");
Run Code Online (Sandbox Code Playgroud)
然后所有的日志语句都有AccCode和Mac,如下所示:
2016-09-12 09:11:37.574 **AccCode:46014** **Mac:2025b9bcf** DEBUG 9724 --- [main] c.c.p.sph.http.client.SphApAdminClient : Loging out from Sph
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3074 次 |
最近记录: |