diff --git a/warden3/warden_server/warden_server.py b/warden3/warden_server/warden_server.py
index 3d30fce664072ddb687bb6e28e8bf0c92dc6e6be..2cde7fa32a46819fb12ab0b7a9997a1b1bacccac 100755
--- a/warden3/warden_server/warden_server.py
+++ b/warden3/warden_server/warden_server.py
@@ -148,7 +148,7 @@ def get_clean_root_logger(level=logging.INFO):
 
 
 
-def StreamLogger(stream=sys.stderr, level=logging.INFO):
+def StreamLogger(stream=sys.stderr, level=logging.DEBUG):
     """ Fallback handler just for setup, not meant to be used from
         configuration file because during wsgi query stdout/stderr
         is forbidden.
@@ -362,7 +362,7 @@ class X509Authenticator(PlainAuthenticator):
             cert_names = self.get_cert_dns_names(env["SSL_CLIENT_CERT"])
         except:
             exception = self.req.error(message="authenticate: cannot get or parse certificate from env", error=403, exc=sys.exc_info(), env=env)
-            exception.log(logging.getLogger(__name__))
+            exception.log(self.log)
             return None
 
         args["hostnames"] = [cert_names]
@@ -377,12 +377,12 @@ class X509NameAuthenticator(PlainAuthenticator):
             cert_name = env["SSL_CLIENT_S_DN_CN"]
         except:
             exception = self.req.error(message="authenticate: cannot get or parse certificate from env", error=403, exc=sys.exc_info(), env=env)
-            exception.log(logging.getLogger(__name__))
+            exception.log(self.log)
             return None
 
         if cert_name != args.setdefault("client", [cert_name])[0]:
             exception = self.req.error(message="authenticate: client name does not correspond with certificate", error=403, cn = cert_name, args = args)
-            exception.log(logging.getLogger(__name__))
+            exception.log(self.log)
             return None
 
         return PlainAuthenticator.authenticate(self, env, args)
@@ -401,7 +401,7 @@ class X509MixMatchAuthenticator(PlainAuthenticator):
             cert_name = env["SSL_CLIENT_S_DN_CN"]
         except:
             exception = self.req.error(message="authenticate: cannot get or parse certificate from env", error=403, exc=sys.exc_info(), env=env)
-            exception.log(logging.getLogger(__name__))
+            exception.log(self.log)
             return None
         name = args.get("client", [None])[0]
         secret =  args.get("secret", [None])[0]
@@ -701,7 +701,7 @@ class MySQL(ObjectBase):
                 # events get skipped silently.
                 err = self.req.error(message="Unable to deserialize JSON event from db, id=%s" % r["id"], error=500,
                     exc=sys.exc_info(), id=r["id"])
-                err.log(logging.getLogger(__name__), prio=logging.WARNING)
+                err.log(self.log, prio=logging.WARNING)
             events.append(e)
 
         return {
@@ -736,7 +736,7 @@ class MySQL(ObjectBase):
         except Exception as e:
             self.con.rollback()
             exception = self.req.error(message="DB error", error=500, exc=sys.exc_info(), env=env)
-            exception.log(logging.getLogger(__name__))
+            exception.log(self.log)
             return [{"error": 500, "message": "DB error %s" % type(e).__name__}]
 
 
@@ -907,7 +907,7 @@ class Server(ObjectBase):
         if exception:
             status = "%d %s" % exception.get_http_err_msg()
             output = json.dumps(exception.to_dict(), default=lambda v: str(v))
-            exception.log(logging.getLogger(__name__))
+            exception.log(self.log)
 
         # Make sure everything is properly encoded - JSON and various function
         # may spit out unicode instead of str and it gets propagated up (str
@@ -1356,11 +1356,11 @@ def build_server(conf, section_order=section_order, section_def=section_def, par
             obj_inst = cls(**kwargs)         # run it
         except Exception as e:
             raise KeyError("Cannot initialize %s from section %s: %s" % (
-                objtype, sect_name, str(e)))
+                cls.__name__, sect_name, str(e)))
 
         if isinstance(obj_inst, Object):
             # Log only objects here, functions must take care of themselves
-            logging.getLogger(__name__).info("Initialized %s" % str(obj_inst))
+            objects["log"].info("Initialized %s" % str(obj_inst))
 
         objects[sect_name] = obj_inst
         return obj_inst
@@ -1368,7 +1368,7 @@ def build_server(conf, section_order=section_order, section_def=section_def, par
     # Init logging with at least simple stderr StreamLogger
     # Dunno if it's ok within wsgi, but we have no other choice, let's
     # hope it at least ends up in webserver error log
-    StreamLogger()
+    objects["log"] = StreamLogger()
 
     # Shared container for common data of ongoing WSGI request
     objects["req"] = Request()
@@ -1378,11 +1378,11 @@ def build_server(conf, section_order=section_order, section_def=section_def, par
         for o in section_order:
             init_obj(o)
     except Exception as e:
-        logging.getLogger(__name__).critical(str(e))
-        logging.getLogger(__name__).debug("", exc_info=sys.exc_info())
+        objects["log"].critical(str(e))
+        objects["log"].debug("", exc_info=sys.exc_info())
         return fallback_wsgi
 
-    logging.getLogger(__name__).info("Server ready")
+    objects["log"].info("Server ready")
 
     return objects["server"]