         }
     }
 
-    /** Our log specification. */
-    protected var _spec :String;
-
+    /** The module to which this log instance applies. */
+    protected var _module :String;
+
+    /** Other registered LogTargets, besides the trace log. */
     protected static var _targets :Array = [];
 
     /** A cache of log levels, copied from _setLevels. */

            var setting :Array = module.split(":");
            _setLevels[setting[0]] = stringToLevel(String(setting[1]));
        }
        resetLevels();
    }

    /**
     * @private
     */
    public function Log (spec :String)
    {
        if (spec == null) { // what!?
            spec = "";
        }
        _spec = spec;
    }

    /**

    // if you add to this, update LEVEL_NAMES at the bottom...

    /**
     * Retrieve a Log for the specified module.
     *
     * @param moduleSpec can be a String of the module name, or any Object or Class to
     * have the module name be the full package and name of the class (recommended).
     */
    public static function getLog (moduleSpec :*) :Log
    {
        const module :String = (moduleSpec is String) ? String(moduleSpec)
            : getQualifiedClassName(moduleSpec).replace("::", ".");
        return new Log(module);
    }

    /**
