From e86e2048a124a1c4abf16712b548d7e7d7815ca3 Mon Sep 17 00:00:00 2001 From: Guillaume Horel Date: Mon, 25 Apr 2011 22:39:39 -0400 Subject: Final cleanup of the logging system - set up a root logger, which is going to catch all the other logger instances set up by other modules (sleekxmpp for instance) - by default, if not in background mode, everything gets logged to the console. --- server/alias.py | 38 +++++++++++++++++++++++++------------- server/object.py | 2 +- server/plugin.py | 2 +- server/server.py | 4 ++-- server/user.py | 2 +- 5 files changed, 30 insertions(+), 18 deletions(-) mode change 100755 => 100644 server/server.py diff --git a/server/alias.py b/server/alias.py index 8d75ec2..30925e1 100644 --- a/server/alias.py +++ b/server/alias.py @@ -55,25 +55,37 @@ if __name__ == '__main__': if config.pidfile is None: config.pidfile = os.path.join('/var/run/', config.name + '.pid') - #set up the logger - handler = logging.FileHandler(config.logfile) + #set up the root logger + logging.getLogger('').setLevel(args.debug) formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s") - handler.setFormatter(formatter) + if config.background: + #save logs in a file + fh = logging.FileHandler(config.logfile) + fh.setFormatter(formatter) + logging.getLogger('').addHandler(fh) + else: + #save logs to the console + ch = logging.StreamHandler() + ch.setFormatter(formatter) + logging.getLogger('').addHandler(ch) + + if config.background: + context = daemon.DaemonContext(detach_process = True, + pidfile = daemon.pidfile.TimeoutPIDLockFile(config.pidfile,10), + files_preserve=[fh.stream.fileno()], + working_directory=os.path.abspath(config.root), + stdout=sys.stdout, stderr=sys.stderr) + else: + context = daemon.DaemonContext(detach_process = False, + stdout=sys.stdout, stderr=sys.stderr, + working_directory=os.path.abspath(config.root)) - logger = logging.getLogger("alias") - logger.setLevel(args.debug) - logger.addHandler(handler) - import pdb; pdb.set_trace() - context = daemon.DaemonContext(detach_process = config.background, - pidfile = daemon.pidfile.TimeoutPIDLockFile(config.pidfile,10), - files_preserve=[handler.stream.fileno()], - stdout=sys.stdout, stderr=sys.stderr) with context: component = ObjectComponent(config.name, config.secret, config.host, config.port, config.root) if component.connect(): - logger.info('Component {} connected'.format(component.boundjid)) + logging.info('Component {} connected'.format(component.boundjid)) component.process(False) else: - logger.error("Component {} couldn't connect".format(component.boundjid)) + logging.error("Component {} couldn't connect".format(component.boundjid)) diff --git a/server/object.py b/server/object.py index 6ff04d3..6a5e45c 100644 --- a/server/object.py +++ b/server/object.py @@ -8,7 +8,7 @@ import zlib import datetime import fileinput import logging -logger = logging.getLogger("alias") +logger = logging.getLogger(__name__) from permission import * from config import config diff --git a/server/plugin.py b/server/plugin.py index 0af0a73..2001b1b 100644 --- a/server/plugin.py +++ b/server/plugin.py @@ -1,5 +1,5 @@ import logging -logger = logging.getLogger("alias") +logger = logging.getLogger(__name__) import base64 import hashlib from xml.etree import cElementTree as ET diff --git a/server/server.py b/server/server.py old mode 100755 new mode 100644 index d91181c..43062c0 --- a/server/server.py +++ b/server/server.py @@ -1,5 +1,5 @@ import logging -logger = logging.getLogger("alias") +logger = logging.getLogger(__name__) from sleekxmpp.componentxmpp import ComponentXMPP from sleekxmpp.xmlstream.xmlstream import XMLStream @@ -34,7 +34,6 @@ class ObjectComponent(ComponentXMPP): def presence_subscription(self, subscription): if subscription["type"] == "subscribe": userJID = subscription["from"].full - import pdb;pdb.set_trace() if not self.userHandler.registered(userJID): self.userHandler.register(userJID) logger.info('registering user {}'.format(userJID)) @@ -45,6 +44,7 @@ class ObjectComponent(ComponentXMPP): userJID = subscription["from"].full if self.userHandler.registered(userJID): self.userHandler.unregister(userJID) + logger.info('unregistering user {}'.format(userJID)) def presence_probe(self, event): self.send_presence(pto = event["from"].full) diff --git a/server/user.py b/server/user.py index 0d01b1d..2491164 100644 --- a/server/user.py +++ b/server/user.py @@ -3,7 +3,7 @@ import os.path import shutil import hashlib import logging -logger = logging.getLogger("alias") +logger = logging.getLogger(__name__) from object import ObjectWriter class UserHandler: -- cgit v1.2.3-70-g09d2