diff --git a/skywalking-protocol/src/main/java/com/ai/cloud/skywalking/protocol/Span.java b/skywalking-protocol/src/main/java/com/ai/cloud/skywalking/protocol/Span.java index 4fd44a14f..bdfc2e070 100644 --- a/skywalking-protocol/src/main/java/com/ai/cloud/skywalking/protocol/Span.java +++ b/skywalking-protocol/src/main/java/com/ai/cloud/skywalking/protocol/Span.java @@ -26,7 +26,7 @@ public class Span extends SpanData { } public Span(String originData) { - String[] fieldValues = originData.split(SPILT_REGEX); + String[] fieldValues = originData.split(SPAN_FIELD_SPILT_PATTERN); traceId = fieldValues[0].trim(); parentLevel = fieldValues[1].trim(); levelId = Integer.valueOf(fieldValues[2]); @@ -42,7 +42,8 @@ public class Span extends SpanData { } spanType = fieldValues[9].charAt(0); isReceiver = Boolean.valueOf(fieldValues[10]); - businessKey = fieldValues[11].trim(); + businessKey = fieldValues[11].trim().replaceAll(BUSINESSKEY_SPILT_PATTERN, + NEW_LINE_CHARACTER_PATTERN); processNo = fieldValues[12].trim(); applicationId = fieldValues[13].trim(); this.originData = originData; diff --git a/skywalking-protocol/src/main/java/com/ai/cloud/skywalking/protocol/SpanData.java b/skywalking-protocol/src/main/java/com/ai/cloud/skywalking/protocol/SpanData.java index e2f87a754..f3ab72e96 100644 --- a/skywalking-protocol/src/main/java/com/ai/cloud/skywalking/protocol/SpanData.java +++ b/skywalking-protocol/src/main/java/com/ai/cloud/skywalking/protocol/SpanData.java @@ -2,11 +2,10 @@ package com.ai.cloud.skywalking.protocol; public abstract class SpanData { - protected static final String SPAN_FIELD_SPILT_PATTERN = "^~"; - protected static final String BUSINESSKEY_SPILT_PATTERN = "~^"; - protected static final String SPILT_REGEX = "\\^\\~"; - protected static final String NEW_LINE_CHARACTER_PATTERN = "[\\n\\r]"; - protected static final String EXCEPTION_SPILT_PATTERN = "^"; + protected static final String SPAN_FIELD_SPILT_PATTERN = ".\u007F"; + protected static final String BUSINESSKEY_SPILT_PATTERN = "'\u007F"; + protected static final String NEW_LINE_CHARACTER_PATTERN = "\r\n"; + protected static final String EXCEPTION_SPILT_PATTERN = ";\u007F"; protected String traceId; protected String parentLevel;