未验证 提交 7e3ba4dd 编写于 作者: W Wang XiangYu 提交者: GitHub

Catch exception and print in stderr (#2238)

Signed-off-by: Nwxyu <xy.wang@zilliz.com>
上级 1516d71a
......@@ -33,6 +33,7 @@ Please mark all change in change log and use the issue from GitHub
## Improvement
- \#221 Refactor LOG macro
- \#833 Catch exception in RolloutHandler and output in stderr
- \#1796 Compile Openblas with source code to improve the performance
- \#2039 Support Milvus run on SSE CPUs
- \#2149 Merge server_cpu_config.template and server_gpu_config.template
......
......@@ -56,63 +56,66 @@ RolloutHandler(const char* filename, std::size_t size, el::Level level) {
int ret;
std::string m(std::string(dir) + "/" + s);
s = m;
switch (level) {
case el::Level::Debug: {
s.append("." + std::to_string(++debug_idx));
ret = rename(m.c_str(), s.c_str());
// std::cout << "debug_idx:" << debug_idx << ", logs_delete_exceeds:" << logs_delete_exceeds << std::endl;
if (debug_idx - logs_delete_exceeds > 0) {
std::string to_delete = m + "." + std::to_string(debug_idx - logs_delete_exceeds);
// std::cout << "remote " << to_delete << std::endl;
boost::filesystem::remove(to_delete);
try {
switch (level) {
case el::Level::Debug: {
s.append("." + std::to_string(++debug_idx));
ret = rename(m.c_str(), s.c_str());
if (debug_idx - logs_delete_exceeds > 0) {
std::string to_delete = m + "." + std::to_string(debug_idx - logs_delete_exceeds);
// std::cout << "remote " << to_delete << std::endl;
boost::filesystem::remove(to_delete);
}
break;
}
break;
}
case el::Level::Warning: {
s.append("." + std::to_string(++warning_idx));
ret = rename(m.c_str(), s.c_str());
if (warning_idx - logs_delete_exceeds > 0) {
std::string to_delete = m + "." + std::to_string(warning_idx - logs_delete_exceeds);
boost::filesystem::remove(to_delete);
case el::Level::Warning: {
s.append("." + std::to_string(++warning_idx));
ret = rename(m.c_str(), s.c_str());
if (warning_idx - logs_delete_exceeds > 0) {
std::string to_delete = m + "." + std::to_string(warning_idx - logs_delete_exceeds);
boost::filesystem::remove(to_delete);
}
break;
}
break;
}
case el::Level::Trace: {
s.append("." + std::to_string(++trace_idx));
ret = rename(m.c_str(), s.c_str());
if (trace_idx - logs_delete_exceeds > 0) {
std::string to_delete = m + "." + std::to_string(trace_idx - logs_delete_exceeds);
boost::filesystem::remove(to_delete);
case el::Level::Trace: {
s.append("." + std::to_string(++trace_idx));
ret = rename(m.c_str(), s.c_str());
if (trace_idx - logs_delete_exceeds > 0) {
std::string to_delete = m + "." + std::to_string(trace_idx - logs_delete_exceeds);
boost::filesystem::remove(to_delete);
}
break;
}
break;
}
case el::Level::Error: {
s.append("." + std::to_string(++error_idx));
ret = rename(m.c_str(), s.c_str());
if (error_idx - logs_delete_exceeds > 0) {
std::string to_delete = m + "." + std::to_string(error_idx - logs_delete_exceeds);
boost::filesystem::remove(to_delete);
case el::Level::Error: {
s.append("." + std::to_string(++error_idx));
ret = rename(m.c_str(), s.c_str());
if (error_idx - logs_delete_exceeds > 0) {
std::string to_delete = m + "." + std::to_string(error_idx - logs_delete_exceeds);
boost::filesystem::remove(to_delete);
}
break;
}
break;
}
case el::Level::Fatal: {
s.append("." + std::to_string(++fatal_idx));
ret = rename(m.c_str(), s.c_str());
if (fatal_idx - logs_delete_exceeds > 0) {
std::string to_delete = m + "." + std::to_string(fatal_idx - logs_delete_exceeds);
boost::filesystem::remove(to_delete);
case el::Level::Fatal: {
s.append("." + std::to_string(++fatal_idx));
ret = rename(m.c_str(), s.c_str());
if (fatal_idx - logs_delete_exceeds > 0) {
std::string to_delete = m + "." + std::to_string(fatal_idx - logs_delete_exceeds);
boost::filesystem::remove(to_delete);
}
break;
}
break;
}
default: {
s.append("." + std::to_string(++global_idx));
ret = rename(m.c_str(), s.c_str());
if (global_idx - logs_delete_exceeds > 0) {
std::string to_delete = m + "." + std::to_string(global_idx - logs_delete_exceeds);
boost::filesystem::remove(to_delete);
default: {
s.append("." + std::to_string(++global_idx));
ret = rename(m.c_str(), s.c_str());
if (global_idx - logs_delete_exceeds > 0) {
std::string to_delete = m + "." + std::to_string(global_idx - logs_delete_exceeds);
boost::filesystem::remove(to_delete);
}
break;
}
break;
}
} catch (const std::exception& exc) {
std::cerr << exc.what() << ". Exception throws from RolloutHandler." << std::endl;
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册