code: protected LogProvider getLogProviderImpl(ClassLoader loader, BootstrapConfig config) {
          // consume/remove ras provider from the map
          String providerClassName = config.getKernelResolver().getLogProvider();
          LogProvider p = null;
  
          try {
              Class<?> providerClass = loader.loadClass(providerClassName);
              if (providerClass != null) {
                  p = (LogProvider) providerClass.newInstance();
  
                  p.configure(new ReadOnlyFrameworkProperties(config),
                              config.getLogDirectory(),
                              fileStreamFactory);
              }
          } catch (RuntimeException e) {
              // unexpected NPE, etc. -- no need to re-wrap a runtime exception
              throw e;
          } catch (Exception e) {
              // InstantiationException, ClassNotFoundException, IllegalAccessException
              throw new RuntimeException("Could not create framework configurator", e);
          }
  
          return p;
      }
docs: Initialize RAS/FFDC LogProviders
  
  @param loader Classloader to use when locating the log provider impl
  @param config BootstrapConfig containing log provider class name.
  @return LogProvider instance
  initial properties containing install directory locations
  @throws RuntimeException
  If a RuntimeException is thrown during the initialization of
  log providers, it is propagated to the caller unchanged.
  Other Exceptions are caught and re-wrapped as
  RuntimeExceptions