in appactive-java-client/client-support/src/main/java/io/appactive/support/log/LoggerBuilder.java [42:72]
public static Logger getLogger(String name) {
Logger logger = LOGGER_NAME_OBJ_MAP.get(name);
if (logger != null) {
return logger;
}
synchronized (LoggerBuilder.class) {
logger = LOGGER_NAME_OBJ_MAP.get(name);
if (logger != null) {
return logger;
}
// 变更类加载
ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
ClassLoader classLoader = LoggerBuilder.class.getClassLoader();
try {
Thread.currentThread().setContextClassLoader(classLoader);
logger = build(name);
} catch (Exception e){
System.out.println("build log fail,e:"+e.getMessage());
e.printStackTrace();
}finally {
Thread.currentThread().setContextClassLoader(contextClassLoader);
}
if (logger == null){
logger = new LoggerContext().getLogger(name);
}
LOGGER_NAME_OBJ_MAP.put(name, logger);
}
return logger;
}