     }
 
     /**
-     * Get the logging level for the specified spec.
-     */
-    protected static function getLevel (spec :String) :int
-    {
-        // we probably already have the level cached for this spec
-        var obj :Object = _levels[spec];
-        if (obj == null) {
-            // cache miss- copy some parent spec's level...
-            var modSpec :String = spec;
+     * Get the logging level for the specified module.
+     */
+    protected static function getLevel (module :String) :int
+    {
+        // we probably already have the level cached for this module
+        var lev :Object = _levels[module];
+        if (lev == null) {
+            // cache miss- copy some parent module's level...
+            var ancestor :String = module;
             while (true) {
-                obj = _setLevels[modSpec];
-                if (obj != null || modSpec == "") {
+                lev = _setLevels[ancestor];
+                if (lev != null || ancestor == "") {
                     // bail if we found a setting or get to the top level,
                     // but always save the level from _setLevels into _levels
-                    _levels[spec] = int(obj); // if obj was null, this will become 0 (DEBUG)
+                    _levels[module] = int(lev); // if lev was null, this will become 0 (DEBUG)
                     break;
                 }
-                var dex :int = modSpec.lastIndexOf(".");
-                if (dex == -1) {
-                    modSpec = "";
-                } else {
-                    modSpec = modSpec.substring(0, dex);
-                }
+                var dex :int = ancestor.lastIndexOf(".");
+                ancestor = (dex == -1) ? "" : ancestor.substring(0, dex);
             }
         }
-        return int(obj);
-    }
-
-    /**
-     * Reset (clear) the log level cache.
-     */
-    protected static function resetLevels () :void
-    {
-        _levels = {};
+        return int(lev);
     }
 
     protected static function stringToLevel (s :String) :int

        }
    }

    /** Our log specification. */
    protected var _spec :String;

    protected static var _targets :Array = [];

    /** A cache of log levels, copied from _setLevels. */

    }

    /**
     * Set the log level for the specified module.
     *
     * @param module The smallest prefix desired to configure a log level.
     * For example, you can set the global level with Log.setLevel("", Log.INFO);
     * Then you can Log.setLevel("com.foo.game", Log.DEBUG). Now, everything
     * logs at INFO level except for modules within com.foo.game, which is at DEBUG.
     */
    public static function setLevel (module :String, level :int) :void
    {
        _setLevels[module] = level;
        _levels = {}; // reset cached levels
    }

    /**
