Ensure Error caught in InitExecutor and do not exit when error occurs in LogBase (#613)

to avoid affecting normal logic of users

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
This commit is contained in:
Eric Zhao 2019-03-27 10:55:04 +08:00 committed by GitHub
parent 7f29773a34
commit d5204bb6a4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 5 deletions

View File

@ -50,16 +50,15 @@ public final class InitExecutor {
}
for (OrderWrapper w : initList) {
w.func.init();
RecordLog.info(String.format("[InitExecutor] Initialized: %s with order %d",
RecordLog.info(String.format("[InitExecutor] Executing %s with order %d",
w.func.getClass().getCanonicalName(), w.order));
}
} catch (Exception ex) {
RecordLog.warn("[InitExecutor] Init failed", ex);
RecordLog.warn("[InitExecutor] WARN: Initialization failed", ex);
ex.printStackTrace();
} catch (Error error) {
RecordLog.warn("[InitExecutor] Init failed with fatal error", error);
RecordLog.warn("[InitExecutor] ERROR: Initialization failed with fatal error", error);
error.printStackTrace();
throw error;
}
}

View File

@ -32,11 +32,15 @@ import com.alibaba.csp.sentinel.util.PidUtil;
* @author leyou
*/
public class LogBase {
public static final String LOG_CHARSET = "utf-8";
private static final String DIR_NAME = "logs" + File.separator + "csp";
private static final String USER_HOME = "user.home";
public static final String LOG_DIR = "csp.sentinel.log.dir";
public static final String LOG_NAME_USE_PID = "csp.sentinel.log.use.pid";
private static boolean logNameUsePid = false;
private static String logBaseDir;
@ -45,8 +49,8 @@ public class LogBase {
try {
init();
} catch (Throwable t) {
System.err.println("[LogBase] FATAL ERROR when initializing log class");
t.printStackTrace();
System.exit(-1);
}
}