Update the log formatting.

Different date format to remove sub-second timing.
Added process id's to all log messages.
Updated various log messages.
This commit is contained in:
Paul J. Davis 2010-02-27 01:16:57 -05:00
parent 1e1207418f
commit 8b38298114
4 changed files with 22 additions and 21 deletions

View File

@ -84,8 +84,8 @@ class Arbiter(object):
self.init_signals()
self.LISTENER = create_socket(self.conf)
self.pidfile = self.opts.get("pidfile")
self.log.info("Booted Arbiter: %s" % os.getpid())
self.log.info("Listening on socket: %s" % self.LISTENER)
self.log.info("Arbiter booted")
self.log.info("Listening at: %s" % self.LISTENER)
def _del_pidfile(self):
self._pidfile = None
@ -159,7 +159,7 @@ class Arbiter(object):
self.SIG_QUEUE.append(sig)
self.wakeup()
else:
self.log.warn("Ignoring rapid signaling: %s" % sig)
self.log.warn("Dropping signal: %s" % sig)
def run(self):
""" main master loop. Launch to start the master"""
@ -193,7 +193,7 @@ class Arbiter(object):
except KeyboardInterrupt:
break
except Exception:
self.log.info("Unhandled exception in main loop. [%s]" %
self.log.info("Unhandled exception in main loop:\n%s" %
traceback.format_exc())
self.stop(False)
if self.pidfile:
@ -201,7 +201,7 @@ class Arbiter(object):
sys.exit(-1)
self.stop()
self.log.info("%s is shutting down." % self.master_name)
self.log.info("Shutting down: %s" % self.master_name)
if self.pidfile:
self.unlink_pidfile(self.pidfile)
sys.exit(0)
@ -214,7 +214,7 @@ class Arbiter(object):
def handle_hup(self):
""" HUP handling . We relaunch gracefully the workers and app while
reloading configuration."""
self.log.info("%s hang up." % self.master_name)
self.log.info("Hang up: %s" % self.master_name)
self.reexec()
raise StopIteration
@ -258,7 +258,7 @@ class Arbiter(object):
self.logger.info("graceful stop of workers")
self.kill_workers(True)
else:
self.log.info("SIGWINCH ignored. not daemonized")
self.log.info("SIGWINCH ignored. Not daemonized")
def wakeup(self):
""" Wake up the arbiter by writing to the PIPE"""
@ -325,7 +325,7 @@ class Arbiter(object):
diff = time.time() - os.fstat(worker.tmp.fileno()).st_ctime
if diff <= self.timeout:
continue
self.log.error("%s (pid:%s) timed out." % (worker, pid))
self.log.error("Worker timed out: %s (pid:%s)" % (worker, pid))
self.kill_worker(pid, signal.SIGKILL)
def reap_workers(self):
@ -379,7 +379,8 @@ class Arbiter(object):
worker_pid = os.getpid()
try:
util._setproctitle("worker [%s]" % self.proc_name)
self.log.debug("Worker %s booting" % worker_pid)
self.log.debug("Booting worker: %s (age: %s)" % (
i, self.worker_age))
self.conf.after_fork(self, worker)
worker.run()
sys.exit(0)
@ -389,7 +390,7 @@ class Arbiter(object):
self.log.exception("Exception in worker process.")
sys.exit(-1)
finally:
self.log.info("Worker %s exiting." % worker_pid)
self.log.info("Worker exiting: %s (pid: %s)" % (i, worker_pid))
try:
worker.tmp.close()
os.unlink(worker.tmpname)

View File

@ -27,12 +27,11 @@ class Config(object):
group=None,
after_fork=lambda server, worker: server.log.info(
"worker=%s spawned pid=%s" % (worker.id, str(worker.pid))),
"Worker spawned: %s (pid: %s)" % (worker.id, worker.pid)),
before_fork=lambda server, worker: server.log.info(
"worker=%s spawning" % worker.id),
before_exec=lambda server: server.log.info("forked child, reexecuting")
before_fork=lambda server, worker: True,
before_exec=lambda server: server.log.info("Forked child, reexecuting")
)
def __init__(self, cmdopts, path=None):
@ -160,4 +159,4 @@ class Config(object):
def before_exec(self, *args):
return self._hook("before_exec", *args)

View File

@ -66,8 +66,10 @@ def configure_logging(opts):
logger = logging.getLogger('gunicorn')
logger.setLevel(loglevel)
format = r"%(asctime)s [%(process)d] [%(levelname)s] %(message)s"
datefmt = r"%Y/%m/%d %H:%M:%S"
for h in handlers:
h.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s %(message)s"))
h.setFormatter(logging.Formatter(format, datefmt))
logger.addHandler(h)
def daemonize():

View File

@ -60,7 +60,6 @@ class Worker(object):
signal.signal(signal.SIGINT, self.handle_exit)
def handle_usr1(self, sig, frame):
self.log.info("USR1")
self.nr = -65536;
try:
map(lambda p: p.close(), self.PIPE)
@ -124,7 +123,7 @@ class Worker(object):
# If our parent changed then we shut down.
if self.ppid != os.getppid():
self.log.info("Parent process changed. Closing %s" % self)
self.log.info("Parent changed, shutting down: %s" % self)
return
try:
@ -159,11 +158,11 @@ class Worker(object):
http.Response(client, response, req).send()
except socket.error, e:
if e[0] != errno.EPIPE:
self.log.exception("Error processing request. [%s]" % str(e))
self.log.exception("Error processing request.")
else:
self.log.warn("Ignoring EPIPE")
except Exception, e:
self.log.exception("Error processing request. [%s]" % str(e))
self.log.exception("Error processing request.")
try:
# Last ditch attempt to notify the client of an error.
mesg = "HTTP/1.0 500 Internal Server Error\r\n\r\n"