Levels()
      {
         Properties props = System.getProperties();
         for (Enumeration<?> e = props.propertyNames(); e.hasMoreElements(); )
         {
            String propName = (String) e.nextElement();
            if (propName.startsWith(LEVEL_PREFIX))
            {
               String levelKey = (propName.length() == LEVEL_PREFIX.length())? "" : propName.substring(LEVEL_PREFIX.length() + 1);
               String levelName = props.getProperty(propName);
               int levelValue = -1;
               for (int i = 0; i < levelNames.length; i++)
               {
                  if (levelNames[i].equals(levelName))
                  {
                     levelValue = i;
                     break;
                  }
               }

               if (levelValue < 0)
                  throw new IllegalArgumentException("Invalid logging level specified for System property: " + propName + ": " + levelName);

               name2levelMap.put(levelKey, new Integer(levelValue));
            }
         }
      }