docs: protected void load()
      {
          Logger bootLogger = LoggerFactory.getBootLogger();
  
          // first we check whether the system property
          //   org.apache.ojb.broker.util.logging.Logger
          // is set (or its alias LoggerClass which is deprecated)
          ClassLoader contextLoader   = ClassHelper.getClassLoader();
          String      loggerClassName;
  
          _loggerClass      = null;
          properties        = new Properties();
          loggerClassName   = getLoggerClass(System.getProperties());
          _loggerConfigFile = getLoggerConfigFile(System.getProperties());
  
          InputStream ojbLogPropFile;
          if (loggerClassName == null)
          {
              // now we're trying to load the OJB-logging.properties file
              String ojbLogPropFilePath = System.getProperty(OJB_LOGGING_PROPERTIES_FILE, OJB_LOGGING_PROPERTIES_FILE);
              try
              {
                  URL ojbLoggingURL = ClassHelper.getResource(ojbLogPropFilePath);
                  if (ojbLoggingURL == null)
                  {
                      ojbLoggingURL = (new File(ojbLogPropFilePath)).toURL();
                  }
                  ojbLogPropFile = ojbLoggingURL.openStream();
                  try
                  {
                      bootLogger.info("Found logging properties file: " + ojbLogPropFilePath);
                      properties.load(ojbLogPropFile);
                      _loggerConfigFile = getLoggerConfigFile(properties);
                      loggerClassName = getLoggerClass(properties);
                  }
                  finally
                  {
                      ojbLogPropFile.close();
                  }
              }
              catch (Exception ex)
              {
                  if(loggerClassName == null)
                  {
                      bootLogger.warn("Can't read logging properties file using path '" + ojbLogPropFilePath
                              + "', message is: " + SystemUtils.LINE_SEPARATOR + ex.getMessage()
                              + SystemUtils.LINE_SEPARATOR + "Will try to load logging properties from OJB.properties file");
                  }
                  else
                  {
                      bootLogger.info("Problems while closing resources for path '" + ojbLogPropFilePath
                              + "', message is: " + SystemUtils.LINE_SEPARATOR + ex.getMessage(), ex);
                  }
              }
          }
          if (loggerClassName == null)
          {
              // deprecated: load the OJB.properties file
              // this is not good because we have all OJB properties in this config
              String ojbPropFile = System.getProperty("OJB.properties", "OJB.properties");
  
              try
              {
                  ojbLogPropFile = contextLoader.getResourceAsStream(ojbPropFile);
                  if (ojbLogPropFile != null)
                  {
                      try
                      {
                          properties.load(ojbLogPropFile);
                          loggerClassName   = getLoggerClass(properties);
                          _loggerConfigFile = getLoggerConfigFile(properties);
                          if (loggerClassName != null)
                          {
                              // deprecation warning for after 1.0
                              bootLogger.warn("Please use a separate '"+OJB_LOGGING_PROPERTIES_FILE+"' file to specify your logging settings");
                          }
                      }
                      finally
                      {
                          ojbLogPropFile.close();
                      }
                  }
              }
              catch (Exception ex)
              {}
          }
          if (loggerClassName != null)
          {
              try
              {
                  _loggerClass = ClassHelper.getClass(loggerClassName);
                  bootLogger.info("Logging: Found logger class '" + loggerClassName);
              }
              catch (ClassNotFoundException ex)
              {
                  _loggerClass = PoorMansLoggerImpl.class;
                  bootLogger.warn("Could not load logger class "+loggerClassName+", defaulting to "+_loggerClass.getName(), ex);
              }
          }
          else
          {
              // still no logger configured - lets check whether commons-logging is configured
              if ((System.getProperty(PROPERTY_COMMONS_LOGGING_LOG) != null) ||
                  (System.getProperty(PROPERTY_COMMONS_LOGGING_LOGFACTORY) != null))
              {
                  // yep, so use commons-logging
                  _loggerClass = CommonsLoggerImpl.class;
                  bootLogger.info("Logging: Found commons logging properties, use " + _loggerClass);
              }
              else
              {
                  // but perhaps there is a log4j.properties file ?
                  try
                  {
                      ojbLogPropFile = contextLoader.getResourceAsStream("log4j.properties");
                      if (ojbLogPropFile != null)
                      {
                          // yep, so use log4j
                          _loggerClass      = Log4jLoggerImpl.class;
                          _loggerConfigFile = "log4j.properties";
                          bootLogger.info("Logging: Found 'log4j.properties' file, use " + _loggerClass);
                          ojbLogPropFile.close();
                      }
                  }
                  catch (Exception ex)
                  {}
                  if (_loggerClass == null)
                  {
                      // or a commons-logging.properties file ?
                      try
                      {
                          ojbLogPropFile = contextLoader.getResourceAsStream("commons-logging.properties");
                          if (ojbLogPropFile != null)
                          {
                              // yep, so use commons-logging
                              _loggerClass      = CommonsLoggerImpl.class;
                              _loggerConfigFile = "commons-logging.properties";
                              bootLogger.info("Logging: Found 'commons-logging.properties' file, use " + _loggerClass);
                              ojbLogPropFile.close();
                          }
                      }
                      catch (Exception ex)
                      {}
                      if (_loggerClass == null)
                      {
                          // no, so default to poor man's logging
                          bootLogger.info("** Can't find logging configuration file, use default logger **");
                          _loggerClass = PoorMansLoggerImpl.class;
                      }
                  }
              }
          }
      }