# #
###############################################################################
+# Initialize logging as soon as the module is loaded
+from . import logger
+log = logger.setup_logging()
+
from . import base
from .constants import PAKFIRE_VERSION
Pakfire = base.Pakfire
PakfireBuilder = base.PakfireBuilder
PakfireServer = base.PakfireServer
+
+# Log when loaded
+log.debug("Pakfire %s initialised" % PAKFIRE_VERSION)
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):