Skip to content
Snippets Groups Projects
Commit 9812e941 authored by Pavel Kácha's avatar Pavel Kácha
Browse files

More global->local logging fixes

parent 00358434
No related branches found
No related tags found
No related merge requests found
......@@ -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"]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment