Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
javalover123888
SkyWalking
提交
1370f3ce
S
SkyWalking
项目概览
javalover123888
/
SkyWalking
与 Fork 源项目一致
Fork自
山不在高_有仙则灵 / SkyWalking
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
SkyWalking
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
1370f3ce
编写于
9月 29, 2017
作者:
wu-sheng
提交者:
GitHub
9月 29, 2017
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #482 from clevertension/my-main
fix Illegal group reference
上级
ea398f05
ed46538a
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
35 addition
and
3 deletion
+35
-3
apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/logging/EasyLogger.java
...ava/org/skywalking/apm/agent/core/logging/EasyLogger.java
+6
-2
apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/logging/EasyLoggerTest.java
...org/skywalking/apm/agent/core/logging/EasyLoggerTest.java
+29
-1
未找到文件。
apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/logging/EasyLogger.java
浏览文件 @
1370f3ce
...
...
@@ -4,6 +4,8 @@ import java.io.ByteArrayOutputStream;
import
java.io.IOException
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.regex.Matcher
;
import
org.skywalking.apm.agent.core.conf.Config
;
import
org.skywalking.apm.agent.core.conf.Constants
;
import
org.skywalking.apm.logging.ILog
;
...
...
@@ -35,8 +37,10 @@ public class EasyLogger implements ILog {
if
(
parametersIndex
>=
parameters
.
length
)
{
break
;
}
tmpMessage
=
tmpMessage
.
replaceFirst
(
"\\{\\}"
,
String
.
valueOf
(
parameters
[
parametersIndex
++]));
/**
* @Fix the Illegal group reference issue
*/
tmpMessage
=
tmpMessage
.
replaceFirst
(
"\\{\\}"
,
Matcher
.
quoteReplacement
(
String
.
valueOf
(
parameters
[
parametersIndex
++])));
startSize
=
index
+
2
;
}
return
tmpMessage
;
...
...
apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/logging/EasyLoggerTest.java
浏览文件 @
1370f3ce
...
...
@@ -53,6 +53,34 @@ public class EasyLoggerTest {
.
println
(
anyString
());
}
@Test
public
void
testLogWithSpecialChar
()
{
PrintStream
output
=
Mockito
.
mock
(
PrintStream
.
class
);
System
.
setOut
(
output
);
PrintStream
err
=
Mockito
.
mock
(
PrintStream
.
class
);
System
.
setErr
(
err
);
EasyLogger
logger
=
new
EasyLogger
(
EasyLoggerTest
.
class
);
Assert
.
assertTrue
(
logger
.
isDebugEnable
());
Assert
.
assertTrue
(
logger
.
isInfoEnable
());
Assert
.
assertTrue
(
logger
.
isWarnEnable
());
Assert
.
assertTrue
(
logger
.
isErrorEnable
());
logger
.
debug
(
"$^!@#*()"
);
logger
.
debug
(
"hello {}"
,
"!@#$%^&*(),./[]:;"
);
logger
.
info
(
"{}{}"
);
logger
.
info
(
"hello {}"
,
"{}{}"
);
logger
.
warn
(
"hello {}"
,
"\\"
);
logger
.
warn
(
"hello \\"
);
logger
.
error
(
"hello <>.."
);
logger
.
error
(
"hello ///\\\\"
,
new
NullPointerException
());
logger
.
error
(
new
NullPointerException
(),
"hello {}"
,
"&&&**%%"
);
Mockito
.
verify
(
output
,
times
(
9
))
.
println
(
anyString
());
}
@Test
public
void
testFormat
()
{
NullPointerException
exception
=
new
NullPointerException
();
...
...
@@ -60,7 +88,7 @@ public class EasyLoggerTest {
String
formatLines
=
logger
.
format
(
exception
);
String
[]
lines
=
formatLines
.
split
(
Constants
.
LINE_SEPARATOR
);
Assert
.
assertEquals
(
"java.lang.NullPointerException"
,
lines
[
1
]);
Assert
.
assertEquals
(
"\tat org.skywalking.apm.agent.core.logging.EasyLoggerTest.testFormat(EasyLoggerTest.java:
58
)"
,
lines
[
2
]);
Assert
.
assertEquals
(
"\tat org.skywalking.apm.agent.core.logging.EasyLoggerTest.testFormat(EasyLoggerTest.java:
86
)"
,
lines
[
2
]);
}
@AfterClass
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录