Browse Source

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>
master
Eric Zhao GitHub 5 years ago
parent
commit
d5204bb6a4
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 5 deletions
  1. +3
    -4
      sentinel-core/src/main/java/com/alibaba/csp/sentinel/init/InitExecutor.java
  2. +5
    -1
      sentinel-core/src/main/java/com/alibaba/csp/sentinel/log/LogBase.java

+ 3
- 4
sentinel-core/src/main/java/com/alibaba/csp/sentinel/init/InitExecutor.java View File

@@ -50,16 +50,15 @@ public final class InitExecutor {
} }
for (OrderWrapper w : initList) { for (OrderWrapper w : initList) {
w.func.init(); 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)); w.func.getClass().getCanonicalName(), w.order));
} }
} catch (Exception ex) { } catch (Exception ex) {
RecordLog.warn("[InitExecutor] Init failed", ex);
RecordLog.warn("[InitExecutor] WARN: Initialization failed", ex);
ex.printStackTrace(); ex.printStackTrace();
} catch (Error error) { } catch (Error error) {
RecordLog.warn("[InitExecutor] Init failed with fatal error", error);
RecordLog.warn("[InitExecutor] ERROR: Initialization failed with fatal error", error);
error.printStackTrace(); error.printStackTrace();
throw error;
} }
} }




+ 5
- 1
sentinel-core/src/main/java/com/alibaba/csp/sentinel/log/LogBase.java View File

@@ -32,11 +32,15 @@ import com.alibaba.csp.sentinel.util.PidUtil;
* @author leyou * @author leyou
*/ */
public class LogBase { public class LogBase {

public static final String LOG_CHARSET = "utf-8"; public static final String LOG_CHARSET = "utf-8";

private static final String DIR_NAME = "logs" + File.separator + "csp"; private static final String DIR_NAME = "logs" + File.separator + "csp";
private static final String USER_HOME = "user.home"; private static final String USER_HOME = "user.home";

public static final String LOG_DIR = "csp.sentinel.log.dir"; public static final String LOG_DIR = "csp.sentinel.log.dir";
public static final String LOG_NAME_USE_PID = "csp.sentinel.log.use.pid"; public static final String LOG_NAME_USE_PID = "csp.sentinel.log.use.pid";

private static boolean logNameUsePid = false; private static boolean logNameUsePid = false;


private static String logBaseDir; private static String logBaseDir;
@@ -45,8 +49,8 @@ public class LogBase {
try { try {
init(); init();
} catch (Throwable t) { } catch (Throwable t) {
System.err.println("[LogBase] FATAL ERROR when initializing log class");
t.printStackTrace(); t.printStackTrace();
System.exit(-1);
} }
} }




Loading…
Cancel
Save