]> git.ipfire.org Git - pakfire.git/commitdiff
Rewrite module logging
authorMichael Tremer <michael.tremer@ipfire.org>
Thu, 1 Dec 2016 13:51:56 +0000 (14:51 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Thu, 1 Dec 2016 13:51:56 +0000 (14:51 +0100)
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 <michael.tremer@ipfire.org>
src/pakfire/__init__.py
src/pakfire/logger.py

index 43aaae1f6ee5ec2bac49648a27eda9448deb4ac4..10aaa20c07f462f6eb53bfb2de089b5f18cce41f 100644 (file)
 #                                                                             #
 ###############################################################################
 
+# 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)
index d453cb226841d05eec3ac318768b38fd37cb3ffc..e9809b52affe40d349813a82f1a14e877de73568 100644 (file)
@@ -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):