From: Michael Tremer Date: Thu, 1 Dec 2016 13:51:56 +0000 (+0100) Subject: Rewrite module logging X-Git-Tag: 0.9.28~1285^2~1450 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ecd16af0697daad8076d73a99b6c181fec704848;p=pakfire.git Rewrite module logging The module now starts logging as soon as it is initialized which makes the base classes slinker. Logging is also only supported to syslog and not to a file any more. Signed-off-by: Michael Tremer --- diff --git a/src/pakfire/__init__.py b/src/pakfire/__init__.py index 43aaae1f6..10aaa20c0 100644 --- a/src/pakfire/__init__.py +++ b/src/pakfire/__init__.py @@ -19,6 +19,10 @@ # # ############################################################################### +# Initialize logging as soon as the module is loaded +from . import logger +log = logger.setup_logging() + from . import base from .constants import PAKFIRE_VERSION @@ -27,3 +31,6 @@ __version__ = PAKFIRE_VERSION Pakfire = base.Pakfire PakfireBuilder = base.PakfireBuilder PakfireServer = base.PakfireServer + +# Log when loaded +log.debug("Pakfire %s initialised" % PAKFIRE_VERSION) diff --git a/src/pakfire/logger.py b/src/pakfire/logger.py index d453cb226..e9809b52a 100644 --- a/src/pakfire/logger.py +++ b/src/pakfire/logger.py @@ -24,54 +24,32 @@ import time import logging import logging.handlers -log = logging.getLogger("pakfire") - -def setup_logging(config=None): +def setup_logging(debug=False): """ - This function initialized the logger that is enabled immediately. + This function initialized the logger that is enabled immediately """ l = logging.getLogger("pakfire") l.propagate = 0 - # Remove all previous defined handlers. - for handler in l.handlers: - l.removeHandler(handler) - l.handlers = [] - # Set level of logger always to DEBUG. l.setLevel(logging.DEBUG) - # Add output to console (but never dump debugging stuff there). - handler = logging.StreamHandler() - handler.setLevel(logging.INFO) - l.addHandler(handler) - - # The configuration file always logs all messages. - if config: - file = config.get("logger", "file", None) - if not file: - return - - level = logging.INFO - if config.get("logger", "level") == "debug": - level = logging.DEBUG + # Remove all previous defined handlers. + l.handlers = [] - mode = config.get("logger", "mode", "normal") - if mode == "rotate": - threshold = config.get("logger", "rotation_threshold", 0) - try: - threshold = int(threshold) - except ValueError: - threshold = 0 + # Log to syslog + handler = logging.handlers.SysLogHandler("/dev/log") + l.addHandler(handler) - handler = logging.handlers.RotatingFileHandler(file, - maxBytes=threshold, backupCount=9) - else: - handler = logging.FileHandler(file) + # Formatter + f = logging.Formatter("%(name)s: %(message)s") + handler.setFormatter(f) - handler.setLevel(level) - l.addHandler(handler) + # Configure debugging + if not debug: + handler.setLevel(logging.INFO) + return l class BuildFormatter(logging.Formatter): def __init__(self):