Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
superrain51
apollo
提交
dca803c2
apollo
项目概览
superrain51
/
apollo
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
apollo
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
dca803c2
编写于
10月 28, 2017
作者:
N
nobodyiam
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor resource utils a little bit
上级
a86dd3e0
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
47 addition
and
32 deletion
+47
-32
apollo-core/src/main/java/com/ctrip/framework/apollo/core/utils/ResourceUtils.java
.../com/ctrip/framework/apollo/core/utils/ResourceUtils.java
+28
-13
apollo-demo/src/main/resources/log4j2.xml
apollo-demo/src/main/resources/log4j2.xml
+19
-19
未找到文件。
apollo-core/src/main/java/com/ctrip/framework/apollo/core/utils/ResourceUtils.java
浏览文件 @
dca803c2
package
com.ctrip.framework.apollo.core.utils
;
import
java.net.URL
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -43,8 +44,8 @@ public class ResourceUtils {
if
(
logger
.
isDebugEnabled
())
{
StringBuilder
sb
=
new
StringBuilder
();
for
(
String
s
ropertyName
:
props
.
stringPropertyNames
())
{
sb
.
append
(
sropertyName
).
append
(
'='
).
append
(
props
.
getProperty
(
s
ropertyName
)).
append
(
'\n'
);
for
(
String
p
ropertyName
:
props
.
stringPropertyNames
())
{
sb
.
append
(
propertyName
).
append
(
'='
).
append
(
props
.
getProperty
(
p
ropertyName
)).
append
(
'\n'
);
}
if
(
sb
.
length
()
>
0
)
{
...
...
@@ -58,6 +59,7 @@ public class ResourceUtils {
private
static
InputStream
loadConfigFileFromDefaultSearchLocations
(
String
configPath
)
{
try
{
// load from default search locations
for
(
String
searchLocation
:
DEFAULT_FILE_SEARCH_LOCATIONS
)
{
File
candidate
=
Paths
.
get
(
searchLocation
,
configPath
).
toFile
();
if
(
candidate
.
exists
()
&&
candidate
.
isFile
()
&&
candidate
.
canRead
())
{
...
...
@@ -66,22 +68,35 @@ public class ResourceUtils {
}
}
InputStream
in
=
ClassLoaderUtil
.
getLoader
().
getResourceAsStream
(
configPath
);
// load from classpath
URL
url
=
ClassLoaderUtil
.
getLoader
().
getResource
(
configPath
);
if
(
in
!=
null
)
{
logger
.
debug
(
"Reading config from resource {}"
,
ClassLoaderUtil
.
getLoader
().
getResource
(
configPath
).
getPath
());
return
in
;
}
else
{
// load outside resource under current user path
File
candidate
=
new
File
(
System
.
getProperty
(
"user.dir"
)
+
configPath
);
if
(
candidate
.
exists
()
&&
candidate
.
isFile
()
&&
candidate
.
canRead
())
{
logger
.
debug
(
"Reading config from resource {}"
,
candidate
.
getAbsolutePath
());
return
new
FileInputStream
(
candidate
);
if
(
url
!=
null
)
{
InputStream
in
=
getResourceAsStream
(
url
);
if
(
in
!=
null
)
{
logger
.
debug
(
"Reading config from resource {}"
,
url
.
getPath
());
return
in
;
}
}
// load outside resource under current user path
File
candidate
=
new
File
(
System
.
getProperty
(
"user.dir"
),
configPath
);
if
(
candidate
.
exists
()
&&
candidate
.
isFile
()
&&
candidate
.
canRead
())
{
logger
.
debug
(
"Reading config from resource {}"
,
candidate
.
getAbsolutePath
());
return
new
FileInputStream
(
candidate
);
}
}
catch
(
FileNotFoundException
e
)
{
//ignore
}
return
null
;
}
}
\ No newline at end of file
private
static
InputStream
getResourceAsStream
(
URL
url
)
{
try
{
return
url
!=
null
?
url
.
openStream
()
:
null
;
}
catch
(
IOException
e
)
{
return
null
;
}
}
}
apollo-demo/src/main/resources/log4j2.xml
浏览文件 @
dca803c2
<?xml version="1.0" encoding="UTF-8"?>
<configuration
monitorInterval=
"60"
>
<appenders>
<Console
name=
"Console"
target=
"SYSTEM_OUT"
>
<PatternLayout
pattern=
"[apollo-demo][%t]%d %-5p [%c] %m%n"
/>
</Console>
<Async
name=
"Async"
includeLocation=
"true"
>
<AppenderRef
ref=
"Console"
/>
</Async>
</appenders>
<loggers>
<logger
name=
"com.ctrip.framework.apollo"
additivity=
"false"
level=
"trace
"
>
<AppenderRef
ref=
"Async"
level=
"INFO
"
/>
</logger>
<logger
name=
"com.ctrip.framework.apollo.demo"
additivity=
"false"
level=
"trace
"
>
<AppenderRef
ref=
"Async"
level=
"DEBUG
"
/>
</logger>
<root
level=
"INFO"
>
<AppenderRef
ref=
"Async"
/>
</root>
</loggers>
<appenders>
<Console
name=
"Console"
target=
"SYSTEM_OUT"
>
<PatternLayout
pattern=
"[apollo-demo][%t]%d %-5p [%c] %m%n"
/>
</Console>
<Async
name=
"Async"
includeLocation=
"true"
>
<AppenderRef
ref=
"Console"
/>
</Async>
</appenders>
<loggers>
<logger
name=
"com.ctrip.framework.apollo"
additivity=
"false"
level=
"INFO
"
>
<AppenderRef
ref=
"Async
"
/>
</logger>
<logger
name=
"com.ctrip.framework.apollo.demo"
additivity=
"false"
level=
"DEBUG
"
>
<AppenderRef
ref=
"Async
"
/>
</logger>
<root
level=
"INFO"
>
<AppenderRef
ref=
"Async"
/>
</root>
</loggers>
</configuration>
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录