一种简单的记录本机ip到log4j2中的方法:
1、项目启动的时候获取本机ip,保存到System变量中:
/**
* 获得本机的内网地址(String)
*/
private String getLocalIp(){
try {
return InetAddress.getLocalHost().getHostAddress();
} catch (UnknownHostException e) {
return "unknown-ip";
}
}
/**
* 设置 "local-ip" system 变量,给log4j2 配置使用:
*/
@PostConstruct
public void postConstruct(){
String localIp = getLocalIp();
System.out.println("localIp for Log4j2: " + localIp);
System.setProperty("local-ip", localIp );
}
2、log4j2.yml配置文件记录本机ip的配置:
Appenders:
Kafka: #输出错误日志到Kafka
name: KAFKA
topic: error-logs
syncSend: false
ThresholdFilter:
level: error
onMatch: ACCEPT
onMismatch: DENY
PatternLayout:
pattern: "${sys:local-ip} %d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%F:%L) - %m%n"