removed python string formatting from logging to enable log message grouping

This commit is contained in:
WoLpH 2011-04-27 17:02:56 +02:00 committed by benoitc
parent 980792c8af
commit 179b87639c
8 changed files with 30 additions and 30 deletions

View File

@ -189,7 +189,7 @@ proc_name = None
# #
def post_fork(server, worker): def post_fork(server, worker):
server.log.info("Worker spawned (pid: %s)" % worker.pid) server.log.info("Worker spawned (pid: %s)", worker.pid)
def pre_fork(server, worker): def pre_fork(server, worker):
pass pass

View File

@ -27,12 +27,12 @@ class MemoryWatch(threading.Thread):
while True: while True:
for (pid, worker) in list(self.server.WORKERS.items()): for (pid, worker) in list(self.server.WORKERS.items()):
if self.memory_usage(pid) > self.max_mem: if self.memory_usage(pid) > self.max_mem:
self.server.log.info("Pid %s killed (memory usage > %s)" % ( self.server.log.info("Pid %s killed (memory usage > %s)",
pid, self.max_mem)) pid, self.max_mem)
self.server.kill_worker(pid, signal.SIGQUIT) self.server.kill_worker(pid, signal.SIGQUIT)
time.sleep(self.timeout) time.sleep(self.timeout)
def when_ready(server): def when_ready(server):
mw = MemoryWatch(server, max_mem) mw = MemoryWatch(server, max_mem)
mw.start() mw.start()

View File

@ -52,7 +52,7 @@ class Arbiter(object):
def __init__(self, app): def __init__(self, app):
self.log = logging.getLogger(__name__) self.log = logging.getLogger(__name__)
self.log.info("Starting gunicorn %s" % __version__) self.log.info("Starting gunicorn %s", __version__)
os.environ["SERVER_SOFTWARE"] = SERVER_SOFTWARE os.environ["SERVER_SOFTWARE"] = SERVER_SOFTWARE
@ -97,7 +97,7 @@ class Arbiter(object):
if self.cfg.debug: if self.cfg.debug:
self.log.debug("Current configuration:") self.log.debug("Current configuration:")
for config, value in sorted(self.cfg.settings.iteritems()): for config, value in sorted(self.cfg.settings.iteritems()):
self.log.debug(" %s: %s" % (config, value.value)) self.log.debug(" %s: %s", config, value.value)
if self.cfg.preload_app: if self.cfg.preload_app:
if not self.cfg.debug: if not self.cfg.debug:
@ -119,9 +119,9 @@ class Arbiter(object):
self.pidfile = Pidfile(self.cfg.pidfile) self.pidfile = Pidfile(self.cfg.pidfile)
self.pidfile.create(self.pid) self.pidfile.create(self.pid)
self.log.debug("Arbiter booted") self.log.debug("Arbiter booted")
self.log.info("Listening at: %s (%s)" % (self.LISTENER, self.log.info("Listening at: %s (%s)", self.LISTENER,
self.pid)) self.pid)
self.log.info("Using worker: %s" % self.log.info("Using worker: %s",
self.cfg.settings['worker_class'].get()) self.cfg.settings['worker_class'].get())
self.cfg.when_ready(self) self.cfg.when_ready(self)
@ -144,7 +144,7 @@ class Arbiter(object):
self.SIG_QUEUE.append(sig) self.SIG_QUEUE.append(sig)
self.wakeup() self.wakeup()
else: else:
self.log.warn("Dropping signal: %s" % sig) self.log.warn("Dropping signal: %s", sig)
def run(self): def run(self):
"Main master loop." "Main master loop."
@ -163,15 +163,15 @@ class Arbiter(object):
continue continue
if sig not in self.SIG_NAMES: if sig not in self.SIG_NAMES:
self.log.info("Ignoring unknown signal: %s" % sig) self.log.info("Ignoring unknown signal: %s", sig)
continue continue
signame = self.SIG_NAMES.get(sig) signame = self.SIG_NAMES.get(sig)
handler = getattr(self, "handle_%s" % signame, None) handler = getattr(self, "handle_%s" % signame, None)
if not handler: if not handler:
self.log.error("Unhandled signal: %s" % signame) self.log.error("Unhandled signal: %s", signame)
continue continue
self.log.info("Handling signal: %s" % signame) self.log.info("Handling signal: %s", signame)
handler() handler()
self.wakeup() self.wakeup()
except StopIteration: except StopIteration:
@ -183,7 +183,7 @@ class Arbiter(object):
except SystemExit: except SystemExit:
raise raise
except Exception: except Exception:
self.log.info("Unhandled exception in main loop:\n%s" % self.log.info("Unhandled exception in main loop:\n%s",
traceback.format_exc()) traceback.format_exc())
self.stop(False) self.stop(False)
if self.pidfile is not None: if self.pidfile is not None:
@ -202,7 +202,7 @@ class Arbiter(object):
- Start the new worker processes with a new configuration - Start the new worker processes with a new configuration
- Gracefully shutdown the old worker processes - Gracefully shutdown the old worker processes
""" """
self.log.info("Hang up: %s" % self.master_name) self.log.info("Hang up: %s", self.master_name)
self.reload() self.reload()
def handle_quit(self): def handle_quit(self):
@ -275,9 +275,9 @@ class Arbiter(object):
def halt(self, reason=None, exit_status=0): def halt(self, reason=None, exit_status=0):
""" halt arbiter """ """ halt arbiter """
self.stop() self.stop()
self.log.info("Shutting down: %s" % self.master_name) self.log.info("Shutting down: %s", self.master_name)
if reason is not None: if reason is not None:
self.log.info("Reason: %s" % reason) self.log.info("Reason: %s", reason)
if self.pidfile is not None: if self.pidfile is not None:
self.pidfile.unlink() self.pidfile.unlink()
sys.exit(exit_status) sys.exit(exit_status)
@ -349,7 +349,7 @@ class Arbiter(object):
if old_address != self.cfg.address: if old_address != self.cfg.address:
self.LISTENER.close() self.LISTENER.close()
self.LISTENER = create_socket(self.cfg) self.LISTENER = create_socket(self.cfg)
self.log.info("Listening at: %s" % self.LISTENER) self.log.info("Listening at: %s", self.LISTENER)
# spawn new workers with new app & conf # spawn new workers with new app & conf
for i in range(self.app.cfg.workers): for i in range(self.app.cfg.workers):
@ -382,7 +382,7 @@ class Arbiter(object):
except ValueError: except ValueError:
continue continue
self.log.critical("WORKER TIMEOUT (pid:%s)" % pid) self.log.critical("WORKER TIMEOUT (pid:%s)", pid)
self.kill_worker(pid, signal.SIGKILL) self.kill_worker(pid, signal.SIGKILL)
def reap_workers(self): def reap_workers(self):
@ -441,7 +441,7 @@ class Arbiter(object):
worker_pid = os.getpid() worker_pid = os.getpid()
try: try:
util._setproctitle("worker [%s]" % self.proc_name) util._setproctitle("worker [%s]" % self.proc_name)
self.log.info("Booting worker with pid: %s" % worker_pid) self.log.info("Booting worker with pid: %s", worker_pid)
self.cfg.post_fork(self, worker) self.cfg.post_fork(self, worker)
worker.init_process() worker.init_process()
sys.exit(0) sys.exit(0)
@ -453,7 +453,7 @@ class Arbiter(object):
sys.exit(self.WORKER_BOOT_ERROR) sys.exit(self.WORKER_BOOT_ERROR)
sys.exit(-1) sys.exit(-1)
finally: finally:
self.log.info("Worker exiting (pid: %s)" % worker_pid) self.log.info("Worker exiting (pid: %s)", worker_pid)
try: try:
worker.tmp.close() worker.tmp.close()
self.cfg.worker_exit(self, worker) self.cfg.worker_exit(self, worker)

View File

@ -46,7 +46,7 @@ class BaseSocket(object):
try: try:
self.sock.close() self.sock.close()
except socket.error, e: except socket.error, e:
log.info("Error while closing socket %s" % str(e)) log.info("Error while closing socket %s", str(e))
time.sleep(0.3) time.sleep(0.3)
del self.sock del self.sock
@ -133,13 +133,13 @@ def create_socket(conf):
return sock_type(conf) return sock_type(conf)
except socket.error, e: except socket.error, e:
if e[0] == errno.EADDRINUSE: if e[0] == errno.EADDRINUSE:
log.error("Connection in use: %s" % str(addr)) log.error("Connection in use: %s", str(addr))
if e[0] == errno.EADDRNOTAVAIL: if e[0] == errno.EADDRNOTAVAIL:
log.error("Invalid address: %s" % str(addr)) log.error("Invalid address: %s", str(addr))
sys.exit(1) sys.exit(1)
if i < 5: if i < 5:
log.error("Retrying in 1 second.") log.error("Retrying in 1 second.")
time.sleep(1) time.sleep(1)
log.error("Can't connect to %s" % str(addr)) log.error("Can't connect to %s", str(addr))
sys.exit(1) sys.exit(1)

View File

@ -41,7 +41,7 @@ class EventletWorker(AsyncWorker):
while self.alive: while self.alive:
self.notify() self.notify()
if self.ppid != os.getppid(): if self.ppid != os.getppid():
self.log.info("Parent changed, shutting down: %s" % self) self.log.info("Parent changed, shutting down: %s", self)
break break
eventlet.sleep(1.0) eventlet.sleep(1.0)

View File

@ -73,7 +73,7 @@ class GeventWorker(AsyncWorker):
while self.alive: while self.alive:
self.notify() self.notify()
if self.ppid != os.getppid(): if self.ppid != os.getppid():
self.log.info("Parent changed, shutting down: %s" % self) self.log.info("Parent changed, shutting down: %s", self)
break break
gevent.sleep(1.0) gevent.sleep(1.0)
@ -139,7 +139,7 @@ class GeventBaseWorker(Worker):
self.notify() self.notify()
if self.ppid != os.getppid(): if self.ppid != os.getppid():
self.log.info("Parent changed, shutting down: %s" % self) self.log.info("Parent changed, shutting down: %s", self)
break break
gevent.sleep(1.0) gevent.sleep(1.0)

View File

@ -34,7 +34,7 @@ class TornadoWorker(Worker):
self.notify() self.notify()
if self.ppid != os.getppid(): if self.ppid != os.getppid():
self.log.info("Parent changed, shutting down: %s" % self) self.log.info("Parent changed, shutting down: %s", self)
self.ioloop.stop() self.ioloop.stop()
def run(self): def run(self):

View File

@ -45,7 +45,7 @@ class SyncWorker(base.Worker):
# If our parent changed then we shut down. # If our parent changed then we shut down.
if self.ppid != os.getppid(): if self.ppid != os.getppid():
self.log.info("Parent changed, shutting down: %s" % self) self.log.info("Parent changed, shutting down: %s", self)
return return
try: try: