diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/terracotta/TerracottaNodeList.java b/HMCL/src/main/java/org/jackhuang/hmcl/terracotta/TerracottaNodeList.java index bb5171ed13..71bd1dc3dc 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/terracotta/TerracottaNodeList.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/terracotta/TerracottaNodeList.java @@ -37,6 +37,12 @@ public final class TerracottaNodeList { private static final String NODE_LIST_URL = "https://terracotta.glavo.site/nodes"; + private static String maskForLog(String s) { + if (s == null || s.isEmpty()) return ""; + int half = s.length() / 2; + return s.substring(0, half) + "*".repeat(s.length() - half); + } + @JsonSerializable private record TerracottaNode(String url, @Nullable String region) implements Validation { @Override @@ -78,7 +84,7 @@ public static List fetch() { try { node.validate(); } catch (Exception e) { - LOG.warning("Invalid terracotta node: " + node, e); + LOG.warning("Invalid terracotta node: " + maskForLog(node.toString()), e); return false; } @@ -86,7 +92,7 @@ public static List fetch() { }) .map(it -> URI.create(it.url())) .toList(); - LOG.info("Terracotta node list: " + list); + LOG.info("Terracotta node list: " + list.stream().map(uri -> maskForLog(uri.toString())).toList()); } } catch (Exception e) { LOG.warning("Failed to fetch terracotta node list", e);