import asyncio
import hashlib
import json
+import logging
import multiprocessing
import os
import signal
class Daemon(object):
- def __init__(self, config_file="daemon.conf"):
+ def __init__(self, config_file="daemon.conf", debug=False, verbose=False):
self.config = config.Config(config_file)
# Setup logger
self.log = logger.setup(
"pakfire.daemon",
+ level=logging.DEBUG if debug else logging.INFO,
syslog_identifier="pakfire-daemon",
+ enable_console=verbose,
)
# Connect to the Pakfire Hub
import systemd.journal
import time
-def setup(name, syslog_identifier="pakfire", enable_console=True):
+def setup(name, level=logging.INFO, syslog_identifier="pakfire", enable_console=True):
log = logging.getLogger(name)
- log.setLevel(logging.DEBUG)
+ log.setLevel(level)
# Do not propagate anything
log.propagate = False
# Enable console output
if enable_console:
console = ConsoleHandler()
- console.setLevel(logging.INFO)
log.addHandler(console)
# Enable logging to journald
parser.add_argument("--config", "-c", nargs="?",
default="@sysconfdir@/pakfire/daemon.conf",
help=_("Configuration file to load"))
+ parser.add_argument("--debug", action="store_true",
+ help=_("Enable debug mode"),
+ )
+ parser.add_argument("--verbose", action="store_true",
+ help=_("Enable logging output on the console"),
+ )
return parser.parse_args()
# Initialize the daemon
d = pakfire.daemon.Daemon(
args.config,
+ debug=args.debug,
+ verbose=args.verbose,
)
# Run it