          (extend java.util.logging.Logger
            Logger
            {:enabled?
-            (fn [logger# level#]
+            (fn [^java.util.logging.Logger logger# level#]
               (.isLoggable logger#
                 (or
                   (levels# level#)
                   (throw (IllegalArgumentException. (str level#))))))
             :write!
-            (fn [logger# level# ^Throwable e# msg#]
+            (fn [^java.util.logging.Logger logger# level# ^Throwable e# msg#]
               (let [^java.util.logging.Level level#
                     (or
                       (levels# level#)

         (extend org.apache.log4j.Logger
           Logger
           {:enabled?
            (fn [logger# level#]
              (.isEnabledFor logger#
                 (or
                   (levels# level#)
                   (throw (IllegalArgumentException. (str level#))))))
            :write!
            (fn [logger# level# e# msg#]
              (let [level# (or
                             (levels# level#)
                             (throw (IllegalArgumentException. (str level#))))]

                :fatal (.isFatalEnabled logger#)
                (throw (IllegalArgumentException. (str level#)))))
            :write!
            (fn [^org.apache.commons.logging.Log logger# level# e# msg#]
              (if e#
                (condp = level#
                  :trace (.trace logger# msg# e#)
