// 查找常用的日志框架
 // 没有配置 循环判断哪个可以使用
 // 根据一个配置来加载 感觉没有用扩展点加载好
 static {
   String logger = System.getProperty("dubbo.application.logger");
   if ("slf4j".equals(logger)) {
     setLoggerAdapter(new Slf4jLoggerAdapter());
   } else if ("jcl".equals(logger)) {
     setLoggerAdapter(new JclLoggerAdapter());
   } else if ("log4j".equals(logger)) {
     setLoggerAdapter(new Log4jLoggerAdapter());
   } else if ("jdk".equals(logger)) {
     setLoggerAdapter(new JdkLoggerAdapter());
   } else {
     try {
       setLoggerAdapter(new Log4jLoggerAdapter());
     } catch (Throwable e1) {
       try {
         setLoggerAdapter(new Slf4jLoggerAdapter());
       } catch (Throwable e2) {
         try {
           setLoggerAdapter(new JclLoggerAdapter());
         } catch (Throwable e3) {
           setLoggerAdapter(new JdkLoggerAdapter());
         }
       }
     }
   }
 }
 /**
  * 用扩展点方法设置当前日志输出提供器 个人感觉此处才有用 但运行时候调用 会有很多额外操作 会更改所有缓存的日志输出器
  *
  * @param loggerAdapter
  */
 public static void setLoggerAdapter(String loggerAdapter) {
   if (loggerAdapter != null && loggerAdapter.length() > 0) {
     setLoggerAdapter(
         ExtensionLoader.getExtensionLoader(LoggerAdapter.class).getExtension(loggerAdapter));
   }
 }