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"]