首页 > 代码库 > logback邮件推送时,内容包含服务器信息

logback邮件推送时,内容包含服务器信息

背景:一个环境,包含n个实例。有多实例部署的,也有测试环境和生产环境的不同,所以想在邮件里面区分

1、拦截器里面初始化logback的mdc属性,当然这里还可以放入一些其他的属性,用于区分不同的服务器。

1 private static String MDC_KEY = "computerName";//日志里面区分不同服务器
2 if (StringUtil.isEmpty(MDC.get(MDC_KEY))) {
3             MDC.put(MDC_KEY, System.getProperty("user.name"));
4             logger.debug("computerName={}", MDC.get(MDC_KEY));
5         }

2、logback配置文件里面通过%X{computerName}的方式获取mdc里面的属性值

1 <layout class="ch.qos.logback.classic.html.HTMLLayout">
2             <pattern>%X{computerName}%date%level%thread%logger{0}%line%message</pattern>
3         </layout>

3、发送的邮件里面就会包含这部分信息了

 技术分享

logback邮件推送时,内容包含服务器信息