Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
爱吃血肠
spring-framework
提交
27693bbc
S
spring-framework
项目概览
爱吃血肠
/
spring-framework
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
spring-framework
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
27693bbc
编写于
3月 19, 2013
作者:
J
Juergen Hoeller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
CustomizableTraceInterceptor relies on JDK 1.5+ Matcher.quoteReplacement method now
上级
7f0a7809
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
10 addition
and
31 deletion
+10
-31
spring-aop/src/main/java/org/springframework/aop/interceptor/CustomizableTraceInterceptor.java
...amework/aop/interceptor/CustomizableTraceInterceptor.java
+10
-31
未找到文件。
spring-aop/src/main/java/org/springframework/aop/interceptor/CustomizableTraceInterceptor.java
浏览文件 @
27693bbc
/*
* Copyright 2002-201
2
the original author or authors.
* Copyright 2002-201
3
the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
@@ -325,18 +325,19 @@ public class CustomizableTraceInterceptor extends AbstractTraceInterceptor {
while
(
matcher
.
find
())
{
String
match
=
matcher
.
group
();
if
(
PLACEHOLDER_METHOD_NAME
.
equals
(
match
))
{
matcher
.
appendReplacement
(
output
,
escape
(
methodInvocation
.
getMethod
().
getName
()));
matcher
.
appendReplacement
(
output
,
Matcher
.
quoteReplacement
(
methodInvocation
.
getMethod
().
getName
()));
}
else
if
(
PLACEHOLDER_TARGET_CLASS_NAME
.
equals
(
match
))
{
String
className
=
getClassForLogging
(
methodInvocation
.
getThis
()).
getName
();
matcher
.
appendReplacement
(
output
,
escape
(
className
));
matcher
.
appendReplacement
(
output
,
Matcher
.
quoteReplacement
(
className
));
}
else
if
(
PLACEHOLDER_TARGET_CLASS_SHORT_NAME
.
equals
(
match
))
{
String
shortName
=
ClassUtils
.
getShortName
(
getClassForLogging
(
methodInvocation
.
getThis
()));
matcher
.
appendReplacement
(
output
,
escape
(
shortName
));
matcher
.
appendReplacement
(
output
,
Matcher
.
quoteReplacement
(
shortName
));
}
else
if
(
PLACEHOLDER_ARGUMENTS
.
equals
(
match
))
{
matcher
.
appendReplacement
(
output
,
escape
(
StringUtils
.
arrayToCommaDelimitedString
(
methodInvocation
.
getArguments
())));
matcher
.
appendReplacement
(
output
,
Matcher
.
quoteReplacement
(
StringUtils
.
arrayToCommaDelimitedString
(
methodInvocation
.
getArguments
())));
}
else
if
(
PLACEHOLDER_ARGUMENT_TYPES
.
equals
(
match
))
{
appendArgumentTypes
(
methodInvocation
,
matcher
,
output
);
...
...
@@ -345,7 +346,7 @@ public class CustomizableTraceInterceptor extends AbstractTraceInterceptor {
appendReturnValue
(
methodInvocation
,
matcher
,
output
,
returnValue
);
}
else
if
(
throwable
!=
null
&&
PLACEHOLDER_EXCEPTION
.
equals
(
match
))
{
matcher
.
appendReplacement
(
output
,
escape
(
throwable
.
toString
()));
matcher
.
appendReplacement
(
output
,
Matcher
.
quoteReplacement
(
throwable
.
toString
()));
}
else
if
(
PLACEHOLDER_INVOCATION_TIME
.
equals
(
match
))
{
matcher
.
appendReplacement
(
output
,
Long
.
toString
(
invocationTime
));
...
...
@@ -379,7 +380,7 @@ public class CustomizableTraceInterceptor extends AbstractTraceInterceptor {
matcher
.
appendReplacement
(
output
,
"null"
);
}
else
{
matcher
.
appendReplacement
(
output
,
escape
(
returnValue
.
toString
()));
matcher
.
appendReplacement
(
output
,
Matcher
.
quoteReplacement
(
returnValue
.
toString
()));
}
}
...
...
@@ -399,7 +400,8 @@ public class CustomizableTraceInterceptor extends AbstractTraceInterceptor {
for
(
int
i
=
0
;
i
<
argumentTypeShortNames
.
length
;
i
++)
{
argumentTypeShortNames
[
i
]
=
ClassUtils
.
getShortName
(
argumentTypes
[
i
]);
}
matcher
.
appendReplacement
(
output
,
escape
(
StringUtils
.
arrayToCommaDelimitedString
(
argumentTypeShortNames
)));
matcher
.
appendReplacement
(
output
,
Matcher
.
quoteReplacement
(
StringUtils
.
arrayToCommaDelimitedString
(
argumentTypeShortNames
)));
}
/**
...
...
@@ -417,27 +419,4 @@ public class CustomizableTraceInterceptor extends AbstractTraceInterceptor {
}
}
/**
* Replaces {@code $} in inner class names with {@code \$}.
* <p>This code is equivalent to JDK 1.5's {@code quoteReplacement}
* method in the Matcher class itself. We're keeping our own version
* here for JDK 1.4 compliance reasons only.
*/
private
String
escape
(
String
input
)
{
StringBuilder
sb
=
new
StringBuilder
();
for
(
int
i
=
0
;
i
<
input
.
length
();
i
++)
{
char
c
=
input
.
charAt
(
i
);
if
(
c
==
'\\'
)
{
sb
.
append
(
"\\\\"
);
}
else
if
(
c
==
'$'
)
{
sb
.
append
(
"\\$"
);
}
else
{
sb
.
append
(
c
);
}
}
return
sb
.
toString
();
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录