生成traceId

生成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;
}

 

 
posted @ 2023-11-30 23:35  使用D  阅读(154)  评论(0编辑  收藏  举报