anchor.diff:  ;;     hierachy. So for example two web apps using the same library
   ;;     can have library.somelogger configured differently.
   ;;
  -;;     By default theri is a single configuration. The current
  +;;     By default there is a single configuration. The current
   ;;     configuration is referenced via a shared global variable
   ;;
  -;;  5. Easy of usage and configuring of loggig system are given the 
  +;;  5. Easy of usage and configuring of logging system are given the 
   ;;     highest priority. 
  -;;
   ;;  
   ;;     Example usage:
  -;;
  -;;   (defvar logger (make-logger "this.is.a.logger)
  -;;   (auto-logger-options (
  -;;
  -;;   (log-debug logger "test")
  -;;   (log-debug-vars var1 var2 var3)
  -;;   (log-debug "~d ~d ~d" var1 var2 var3)
  -;;   (log-debug)
  -;;
  -;;   ;;; configuraiton from REPL
  -;;
  -;;   (log *.* debug)
  -;;   (log *.* info)
  -;;   (log *do-something* debug)
  -;;   (log *some-logger-name
   
   
   
  
positive.code: state indexed by this number")
  
  (defun inherited-level (logger)
    (declare (type (or null logger) logger))
    (if (null logger) +log-level-off+
        (let* ((appdata (current-appdata logger))
  
negative.code: 	    (inherited-level (logger-parent logger))))))
  
  (defun have-appenders-for-level (logger level)
    "Return non-NIL if logging with LEVEL will actually
  reach any appenders"
    (declare (type logger logger) (type fixnum level))
    ;; Note: below code actually walk parent chain twice but since its
    ;; cached anyway, don't optimize unless becomes a problem
    (labels ((have-appenders (logger)
  	     (when logger
  	       (or (logger-app-data-appenders (current-appdata logger))
  