anchor.diff:                         (print-indent) (terpri)
                          (print-one-logger l))))
                    (pop indents)))
  -             (print-properties (obj)
  -               (let* ((prop-alist (property-alist obj))
  +             (print-properties (obj &optional extra-props)
  +               (let* ((prop-alist (append (property-alist obj) extra-props))
                         (name-width (loop for prop in prop-alist maximize
                                              (length (format nil "~s" (first prop)))))
                         (indent (with-output-to-string (*standard-output*)
  
positive.code:                ;; don't draw the tree for them
                 (push (cons 5 0) indents)
                 (print-layout (slot-value a 'layout))
                 (print-properties a)
                 (pop indents))
               (print-layout (layout)
                 (print-indent)
  
negative.code:     ;; finally recalculate reach-ability
      (adjust-logger logger)))
  
  
  
  (defun appender-extra-print-properties (a)
    "Make an list of extra properties when printing appender configuration.
  Some of the properties are included only conditionally, such as last
  error or error count"
    (with-slots (message-count
                 error-count
                 ignored-error-count
                 last-error
                 last-ignored-error) a 
      (append
       '((:message-count message-count nil))
       (when (plusp error-count) '((:error-count error-count nil)))
       (when (plusp ignored-error-count) '((:ignored-error-count ignored-error-count nil)))
       (when last-error '((:last-error last-error nil)))
       (when last-ignored-error '((:last-ignored-error last-ignored-error nil))))))
  
  (defun show-logger-settings (logger)
    "Print logger settings and its children to *STANDARD-OUTPUT*
  
  