This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
     new e5734ce  [#2551] simplified profile path in cse_run.log (#2583)
e5734ce is described below

commit e5734ce023576ec24f5cea886de75553d7b45ed3
Author: david6969xin <[email protected]>
AuthorDate: Sat Sep 18 16:03:01 2021 +0800

    [#2551] simplified profile path in cse_run.log (#2583)
---
 .../foundation/common/utils/IOUtils.java           | 26 +++++++++++++++++++
 .../foundation/common/utils/Log4jUtils.java        |  2 +-
 .../foundation/common/utils/TestIOUtils.java}      | 29 ++++++++++++++++++----
 .../config/archaius/sources/ConfigModel.java       |  5 +++-
 4 files changed, 55 insertions(+), 7 deletions(-)

diff --git 
a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/IOUtils.java
 
b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/IOUtils.java
index 02db6ce..ce57bbb 100644
--- 
a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/IOUtils.java
+++ 
b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/IOUtils.java
@@ -18,9 +18,35 @@ package org.apache.servicecomb.foundation.common.utils;
 
 import java.io.Closeable;
 
+import org.apache.commons.lang3.StringUtils;
+
 public class IOUtils {
   @SuppressWarnings("deprecation")
   public static void closeQuietly(final Closeable closeable) {
     org.apache.commons.io.IOUtils.closeQuietly(closeable);
   }
+
+  public static String anonymousPath(String path) {
+    if (StringUtils.isEmpty(path)) {
+      return path;
+    }
+    StringBuilder result = new StringBuilder();
+    char separator = path.contains("/") ? '/' : '\\';
+    char[] tokens = path.toCharArray();
+    boolean byPass = false;
+    boolean fileName = true;
+    for (int i = tokens.length - 1; i >= 0; i--) {
+      if (tokens[i] == separator) {
+        fileName = false;
+        byPass = false;
+        result.append(separator);
+        continue;
+      }
+      if (!byPass || fileName) {
+        result.append(tokens[i]);
+        byPass = true;
+      }
+    }
+    return result.reverse().toString();
+  }
 }
diff --git 
a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/Log4jUtils.java
 
b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/Log4jUtils.java
index f867983..46dbd78 100644
--- 
a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/Log4jUtils.java
+++ 
b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/Log4jUtils.java
@@ -109,7 +109,7 @@ public final class Log4jUtils {
 
     File mergedfile = new File(res.getFile().getParentFile(), MERGED_FILE);
     FileUtils.writeStringToFile(mergedfile, content, StandardCharsets.UTF_8, 
false);
-    log.info("Write merged log4j config file to {}", 
mergedfile.getAbsolutePath());
+    log.info("Write merged log4j config file to {}", 
IOUtils.anonymousPath(mergedfile.getAbsolutePath()));
   }
 
   private static String genFileContext(List<Resource> resList, Properties 
properties) throws IOException {
diff --git 
a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/IOUtils.java
 
b/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestIOUtils.java
similarity index 50%
copy from 
foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/IOUtils.java
copy to 
foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestIOUtils.java
index 02db6ce..fe4f0e4 100644
--- 
a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/IOUtils.java
+++ 
b/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestIOUtils.java
@@ -14,13 +14,32 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
 package org.apache.servicecomb.foundation.common.utils;
 
-import java.io.Closeable;
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+
+public class TestIOUtils {
+
+  @Test
+  public void testAnonymousPath() {
+    assertEquals(":/:/r/2/y/b/y/0/s/microservice.yaml",
+        IOUtils.anonymousPath("jar:file:/D:/User/.m2/repository/servicecomb"
+            + "/transport-highway/2.3.0/classes/microservice.yaml"));
+
+    assertEquals(":/:/r/microservice.yaml", 
IOUtils.anonymousPath("file:/D:/User/microservice.yaml"));
 
-public class IOUtils {
-  @SuppressWarnings("deprecation")
-  public static void closeQuietly(final Closeable closeable) {
-    org.apache.commons.io.IOUtils.closeQuietly(closeable);
+    assertEquals(":\\:\\r\\microservice.yaml", 
IOUtils.anonymousPath("file:\\D:\\User\\microservice.yaml"));
+
+    assertEquals("r\\t\\a.txt", IOUtils.anonymousPath("user\\test\\a.txt"));
+
+    assertEquals(":\\:\\a.txt", IOUtils.anonymousPath("file:\\D:\\a.txt"));
+
+    assertEquals(":\\a.txt", IOUtils.anonymousPath("D:\\a.txt"));
+
+    assertEquals("a.txt", IOUtils.anonymousPath("a.txt"));
   }
+
 }
diff --git 
a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/archaius/sources/ConfigModel.java
 
b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/archaius/sources/ConfigModel.java
index 55118d5..bb702bf 100644
--- 
a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/archaius/sources/ConfigModel.java
+++ 
b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/archaius/sources/ConfigModel.java
@@ -20,6 +20,8 @@ package org.apache.servicecomb.config.archaius.sources;
 import java.net.URL;
 import java.util.Map;
 
+import org.apache.servicecomb.foundation.common.utils.IOUtils;
+
 public class ConfigModel {
 
   private URL url;
@@ -54,6 +56,7 @@ public class ConfigModel {
 
   @Override
   public String toString() {
-    return url == null ? "" : url.toString();
+    return url == null ? "" : IOUtils.anonymousPath(url.toString());
   }
+
 }

Reply via email to