生成traceId,规则是 服务器 IP(每段转为16机制) + 产生ID时的时间 + uuid前20位 + 当前进程号
public static String getTraceId() {
String result = "";
String ip = "";
try {
InetAddress address = InetAddress.getLocalHost();
ip = address.getHostAddress();
} catch (Exception var5) {
return result;
}
String[] ipAddressInArray = ip.split("\\.");
for(int i = 3; i >= 0; --i) {
Integer id = Integer.parseInt(ipAddressInArray[3 - i]);
result = result + String.format("%02x", id);
}
// 拼装时间戳及随机数
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmssSSS");
result = result + simpleDateFormat.format(new Date()) + UUID.randomUUID().toString().replace("-","").substring(0,20);
RuntimeMXBean runtime = ManagementFactory.getRuntimeMXBean();
result = result + String.format("%05d", Integer.parseInt(runtime.getName().split("@")[0]));
return result;
}
标签:traceId,String,format,ip,生成,result,Integer From: https://www.cnblogs.com/use-D/p/17868653.html