1、首先新建工具类,通过代码获取服务器IP
package com.jd.jr.risk.insight.manager.common.utils;
import ch.qos.logback.classic.pattern.ClassicConverter;
import ch.qos.logback.classic.spi.ILoggingEvent;
import lombok.extern.slf4j.Slf4j;
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.UnknownHostException;
import java.util.Enumeration;
@Slf4j
public class LogIpConfigUtil extends ClassicConverter {
@Override
public String convert(ILoggingEvent iLoggingEvent) {
try {
Enumeration allNetInterfaces = NetworkInterface.getNetworkInterfaces();
InetAddress ip = null;
while (allNetInterfaces.hasMoreElements()) {
NetworkInterface netInterface = (NetworkInterface) allNetInterfaces.nextElement();
if (netInterface.isLoopback() || netInterface.isVirtual() || !netInterface.isUp()) {
continue;
} else {
Enumeration addresses = netInterface.getInetAddresses();
while (addresses.hasMoreElements()) {
ip = addresses.nextElement();
if (ip != null && ip instanceof Inet4Address) {
return ip.getHostAddress();
}
}
}
}
} catch (Exception e) {
log.error("IP地址获取失败" + e.toString());
}
return "";
}
}
2、在logback-spring.xml文件里加入配置获取IP类
3、在需要用到IP的位置这样写: %ip
"host": "%ip" 这样写,本地日志输入的时候内容是: "host": "2.0.1.15"