Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
milvus
提交
c54247c2
milvus
项目概览
BaiXuePrincess
/
milvus
与 Fork 源项目一致
从无法访问的项目Fork
通知
7
Star
4
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
milvus
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c54247c2
编写于
9月 09, 2019
作者:
H
Heisenberg
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
change the code under suggestions
Former-commit-id: e4bb750aa14b6405c6af434239f71037a7de2744
上级
a823d6e4
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
58 addition
and
55 deletion
+58
-55
cpp/conf/log_config.template
cpp/conf/log_config.template
+1
-1
cpp/src/utils/LogUtil.cpp
cpp/src/utils/LogUtil.cpp
+57
-43
cpp/src/utils/LogUtil.h
cpp/src/utils/LogUtil.h
+0
-11
未找到文件。
cpp/conf/log_config.template
浏览文件 @
c54247c2
...
...
@@ -6,7 +6,7 @@
TO_STANDARD_OUTPUT = false
SUBSECOND_PRECISION = 3
PERFORMANCE_TRACKING = false
MAX_LOG_FILE_SIZE = 209715200 ## Throw log files away after 200MB
MAX_LOG_FILE_SIZE =
10240 ##
209715200 ## Throw log files away after 200MB
* DEBUG:
FILENAME = "@MILVUS_DB_PATH@/logs/milvus-%datetime{%H:%m}-debug.log"
ENABLED = true
...
...
cpp/src/utils/LogUtil.cpp
浏览文件 @
c54247c2
...
...
@@ -12,11 +12,67 @@
#include <string>
#include <libgen.h>
namespace
zilliz
{
namespace
milvus
{
namespace
server
{
int32_t
InitLog
(
const
std
::
string
&
log_config_file
)
{
namespace
{
static
int
global_idx
=
0
;
static
int
debug_idx
=
0
;
static
int
warning_idx
=
0
;
static
int
trace_idx
=
0
;
static
int
error_idx
=
0
;
static
int
fatal_idx
=
0
;
}
// TODO(yzb) : change the easylogging library to get the log level from parameter rather than filename
void
rolloutHandler
(
const
char
*
filename
,
std
::
size_t
size
)
{
char
*
dirc
=
strdup
(
filename
);
char
*
basec
=
strdup
(
filename
);
char
*
dir
=
dirname
(
dirc
);
char
*
base
=
basename
(
basec
);
std
::
string
s
(
base
);
std
::
stringstream
ss
;
std
::
string
list
[]
=
{
"
\\
"
,
" "
,
"
\'
"
,
"
\"
"
,
"*"
,
"\?"
,
"{"
,
"}"
,
";"
,
"<"
,
">"
,
"|"
,
"^"
,
"&"
,
"$"
,
"#"
,
"!"
,
"`"
,
"~"
};
std
::
string
::
size_type
position
;
for
(
auto
substr
:
list
)
{
position
=
0
;
while
((
position
=
s
.
find_first_of
(
substr
,
position
))
!=
std
::
string
::
npos
)
{
s
.
insert
(
position
,
"
\\
"
);
position
+=
2
;
}
}
int
ret
;
std
::
string
m
(
std
::
string
(
dir
)
+
"/"
+
s
);
s
=
m
;
if
((
position
=
s
.
find
(
"global"
))
!=
std
::
string
::
npos
)
{
s
.
append
(
"."
+
std
::
to_string
(
++
global_idx
));
ret
=
rename
(
m
.
c_str
(),
s
.
c_str
());
}
else
if
((
position
=
s
.
find
(
"debug"
))
!=
std
::
string
::
npos
)
{
s
.
append
(
"."
+
std
::
to_string
(
++
debug_idx
));
ret
=
rename
(
m
.
c_str
(),
s
.
c_str
());
}
else
if
((
position
=
s
.
find
(
"warning"
))
!=
std
::
string
::
npos
)
{
s
.
append
(
"."
+
std
::
to_string
(
++
warning_idx
));
ret
=
rename
(
m
.
c_str
(),
s
.
c_str
());
}
else
if
((
position
=
s
.
find
(
"trace"
))
!=
std
::
string
::
npos
)
{
s
.
append
(
"."
+
std
::
to_string
(
++
trace_idx
));
ret
=
rename
(
m
.
c_str
(),
s
.
c_str
());
}
else
if
((
position
=
s
.
find
(
"error"
))
!=
std
::
string
::
npos
)
{
s
.
append
(
"."
+
std
::
to_string
(
++
error_idx
));
ret
=
rename
(
m
.
c_str
(),
s
.
c_str
());
}
else
if
((
position
=
s
.
find
(
"fatal"
))
!=
std
::
string
::
npos
)
{
s
.
append
(
"."
+
std
::
to_string
(
++
fatal_idx
));
ret
=
rename
(
m
.
c_str
(),
s
.
c_str
());
}
else
{
s
.
append
(
"."
+
std
::
to_string
(
++
global_idx
));
ret
=
rename
(
m
.
c_str
(),
s
.
c_str
());
}
}
int32_t
InitLog
(
const
std
::
string
&
log_config_file
)
{
#if 0
ServerConfig &config = ServerConfig::GetInstance();
ConfigNode log_config = config.GetConfig(CONFIG_LOG);
...
...
@@ -60,48 +116,6 @@ int32_t InitLog(const std::string& log_config_file) {
return
0
;
}
// TODO(yzb) : change the easylogging library to get the log level from parameter rather than filename
void
rolloutHandler
(
const
char
*
filename
,
std
::
size_t
size
){
char
*
dirc
=
strdup
(
filename
);
char
*
basec
=
strdup
(
filename
);
char
*
dir
=
dirname
(
dirc
);
char
*
base
=
basename
(
basec
);
std
::
string
s
(
base
);
std
::
stringstream
ss
;
std
::
string
list
[]
=
{
"
\\
"
,
" "
,
"
\'
"
,
"
\"
"
,
"*"
,
"\?"
,
"{"
,
"}"
,
";"
,
"<"
,
">"
,
"|"
,
"^"
,
"&"
,
"$"
,
"#"
,
"!"
,
"`"
,
"~"
};
std
::
string
::
size_type
position
;
for
(
auto
substr
:
list
){
position
=
0
;
while
((
position
=
s
.
find_first_of
(
substr
,
position
))
!=
std
::
string
::
npos
){
s
.
insert
(
position
,
"
\\
"
);
position
+=
2
;
}
}
if
((
position
=
s
.
find
(
"global"
))
!=
std
::
string
::
npos
){
ss
<<
"mv "
<<
dir
<<
"/"
<<
s
<<
" "
<<
dir
<<
"/"
<<
s
<<
"."
<<
++
global_idx
;
}
else
if
((
position
=
s
.
find
(
"debug"
))
!=
std
::
string
::
npos
){
ss
<<
"mv "
<<
dir
<<
"/"
<<
s
<<
" "
<<
dir
<<
"/"
<<
s
<<
"."
<<
++
debug_idx
;
}
else
if
((
position
=
s
.
find
(
"warning"
))
!=
std
::
string
::
npos
){
ss
<<
"mv "
<<
dir
<<
"/"
<<
s
<<
" "
<<
dir
<<
"/"
<<
s
<<
"."
<<
++
warning_idx
;
}
else
if
((
position
=
s
.
find
(
"trace"
))
!=
std
::
string
::
npos
){
ss
<<
"mv "
<<
dir
<<
"/"
<<
s
<<
" "
<<
dir
<<
"/"
<<
s
<<
"."
<<
++
trace_idx
;
}
else
if
((
position
=
s
.
find
(
"error"
))
!=
std
::
string
::
npos
){
ss
<<
"mv "
<<
dir
<<
"/"
<<
s
<<
" "
<<
dir
<<
"/"
<<
s
<<
"."
<<
++
error_idx
;
}
else
if
((
position
=
s
.
find
(
"fatal"
))
!=
std
::
string
::
npos
){
ss
<<
"mv "
<<
dir
<<
"/"
<<
s
<<
" "
<<
dir
<<
"/"
<<
s
<<
"."
<<
++
fatal_idx
;
}
else
{
ss
<<
"mv "
<<
dir
<<
"/"
<<
s
<<
" "
<<
dir
<<
"/"
<<
s
<<
"."
<<
++
global_idx
;
}
// std::cout << ss.str() << std::endl;
system
(
ss
.
str
().
c_str
());
}
}
// server
}
// milvus
...
...
cpp/src/utils/LogUtil.h
浏览文件 @
c54247c2
...
...
@@ -11,18 +11,7 @@
namespace
zilliz
{
namespace
milvus
{
namespace
server
{
static
unsigned
global_idx
=
0
;
static
unsigned
debug_idx
=
0
;
static
unsigned
warning_idx
=
0
;
static
unsigned
trace_idx
=
0
;
static
unsigned
error_idx
=
0
;
static
unsigned
fatal_idx
=
0
;
int32_t
InitLog
(
const
std
::
string
&
log_config_file
);
void
rolloutHandler
(
const
char
*
filename
,
std
::
size_t
size
);
inline
std
::
string
GetFileName
(
std
::
string
filename
)
{
int
pos
=
filename
.
find_last_of
(
'/'
);
return
filename
.
substr
(
pos
+
1
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录