]> git.ipfire.org Git - people/mfischer/ipfire-2.x.git/commitdiff
unbound-dhcp-leases-bridge: Improve logging
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 30 Mar 2022 09:56:31 +0000 (09:56 +0000)
committerPeter Müller <peter.mueller@ipfire.org>
Mon, 4 Apr 2022 20:07:15 +0000 (20:07 +0000)
This improves logging and enables logging to the console.

Suggested-by: Anthony Heading <ajrh@ajrh.net>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
config/unbound/unbound-dhcp-leases-bridge

index a2df5f10144151632fc80ce040a7fb424d6bea0f..ce0cb86143025d6c1bf0bae814f8aa1995532bae 100644 (file)
@@ -30,27 +30,37 @@ import re
 import signal
 import stat
 import subprocess
+import sys
 import tempfile
 
 import inotify.adapters
 
 LOCAL_TTL = 60
 
-def setup_logging(loglevel=logging.INFO):
-       log = logging.getLogger("dhcp")
+log = logging.getLogger("dhcp")
+log.setLevel(logging.DEBUG)
+
+def setup_logging(daemon=True, loglevel=logging.INFO):
        log.setLevel(loglevel)
 
+       # Log to syslog by default
        handler = logging.handlers.SysLogHandler(address="/dev/log", facility="daemon")
-       handler.setLevel(loglevel)
+       log.addHandler(handler)
 
+       # Format everything
        formatter = logging.Formatter("%(name)s[%(process)d]: %(message)s")
        handler.setFormatter(formatter)
 
-       log.addHandler(handler)
+       handler.setLevel(loglevel)
 
-       return log
+       # If we are running in foreground, we should write everything to the console, too
+       if not daemon:
+               handler = logging.StreamHandler()
+               log.addHandler(handler)
 
-log = logging.getLogger("dhcp")
+               handler.setLevel(loglevel)
+
+       return log
 
 def ip_address_to_reverse_pointer(address):
        parts = address.split(".")
@@ -579,12 +589,12 @@ if __name__ == "__main__":
                elif args.verbose >= 2:
                        loglevel = logging.DEBUG
 
-       setup_logging(loglevel)
+       setup_logging(daemon=args.daemon, loglevel=loglevel)
 
        bridge = UnboundDHCPLeasesBridge(args.dhcp_leases, args.fix_leases,
                args.unbound_leases, args.hosts)
 
-       ctx = daemon.DaemonContext(detach_process=args.daemon)
+       ctx = daemon.DaemonContext(detach_process=args.daemon, stderr=sys.stderr)
        ctx.signal_map = {
                signal.SIGHUP  : bridge.update_dhcp_leases,
                signal.SIGTERM : bridge.terminate,