From 67ccf83b1c83934b4ffc86277a5857f8559014ba Mon Sep 17 00:00:00 2001 From: Sven Luethi Date: Fri, 10 Apr 2026 15:07:12 +0200 Subject: [PATCH] modified: netbox_dns_bridge/__init__.py modified: netbox_dns_bridge/catalog_zone_manager.py modified: netbox_dns_bridge/dns_server.py new file: netbox_dns_bridge/logger.py modified: netbox_dns_bridge/management/commands/dns-transfer-endpoint.py modified: netbox_dns_bridge/request_handler.py Clean up logging --- netbox_dns_bridge/__init__.py | 11 +++-------- netbox_dns_bridge/catalog_zone_manager.py | 7 ++++--- netbox_dns_bridge/dns_server.py | 6 +++--- netbox_dns_bridge/logger.py | 11 +++++++++++ .../management/commands/dns-transfer-endpoint.py | 13 +++++++------ netbox_dns_bridge/request_handler.py | 5 +++-- 6 files changed, 31 insertions(+), 22 deletions(-) create mode 100644 netbox_dns_bridge/logger.py diff --git a/netbox_dns_bridge/__init__.py b/netbox_dns_bridge/__init__.py index f02e12d..c8573ff 100644 --- a/netbox_dns_bridge/__init__.py +++ b/netbox_dns_bridge/__init__.py @@ -1,17 +1,12 @@ import logging + from netbox.plugins import PluginConfig from django.conf import settings +from .logger import get_logger __version__ = "1.5.3" -logger = logging.getLogger(__name__) - -logging.basicConfig( - level=logging.DEBUG, # Log level (DEBUG, INFO, WARNING, ERROR, CRITICAL) - format="%(asctime)s [%(levelname)s] %(name)s: %(message)s", # Log format - datefmt="%Y-%m-%d %H:%M:%S", # Date format for timestamps -) - +logger = logger.get_logger(__name__) class DNSBridgeConfig(PluginConfig): name = "netbox_dns_bridge" diff --git a/netbox_dns_bridge/catalog_zone_manager.py b/netbox_dns_bridge/catalog_zone_manager.py index db341ca..fa451bd 100644 --- a/netbox_dns_bridge/catalog_zone_manager.py +++ b/netbox_dns_bridge/catalog_zone_manager.py @@ -1,4 +1,3 @@ -import logging import threading import dns.query import dns.message @@ -10,13 +9,15 @@ import dns.rdataclass import dns.rdtypes import dns.exception import dns.renderer +import logging +from .logger import get_logger from netbox_dns.models import Zone from netbox_dns.choices import ZoneStatusChoices from netbox_dns_bridge.models import IntegerKeyValueSetting, CatalogZoneMemberIdentifier from uuid import uuid4 from base64 import b32encode -logger = logging.getLogger(__name__) +logger = get_logger(__name__) _LOCK = threading.Lock() _SERIAL_MAX = 0xFFFFFFFF @@ -36,7 +37,7 @@ def _init_serial() -> None: try: _SERIAL_OBJ = IntegerKeyValueSetting.objects.get(key="catalog-zone-soa-serial") - logger.debug( + logger.info( f"Catalog zone SOA serial number {_SERIAL_OBJ.value} loaded from database" ) except IntegerKeyValueSetting.DoesNotExist: diff --git a/netbox_dns_bridge/dns_server.py b/netbox_dns_bridge/dns_server.py index 71d771e..a3e7383 100644 --- a/netbox_dns_bridge/dns_server.py +++ b/netbox_dns_bridge/dns_server.py @@ -1,8 +1,8 @@ -import logging import socketserver import socket - -logger = logging.getLogger(__name__) +import logging +from .logger import get_logger +logger = get_logger(__name__) class DNSAddressMixin: diff --git a/netbox_dns_bridge/logger.py b/netbox_dns_bridge/logger.py new file mode 100644 index 0000000..03de457 --- /dev/null +++ b/netbox_dns_bridge/logger.py @@ -0,0 +1,11 @@ +import logging + +PLUGIN_NAME = "dns-bridge" + +def get_logger(name: str) -> logging.Logger: + #name = name.replace("_","-").rsplit(".", 1)[-1] + # + #if name.startswith(PLUGIN_NAME): + # return logging.getLogger(name) + #return logging.getLogger(f"{PLUGIN_NAME}.{name}") + return logging.getLogger(f"{PLUGIN_NAME}") diff --git a/netbox_dns_bridge/management/commands/dns-transfer-endpoint.py b/netbox_dns_bridge/management/commands/dns-transfer-endpoint.py index 3551624..46bb204 100644 --- a/netbox_dns_bridge/management/commands/dns-transfer-endpoint.py +++ b/netbox_dns_bridge/management/commands/dns-transfer-endpoint.py @@ -1,4 +1,3 @@ -import logging import threading import dns.query import dns.message @@ -10,16 +9,18 @@ import dns.rdataclass import dns.rdtypes import dns.exception import dns.renderer +import logging from django.core.management.base import BaseCommand from django.conf import settings from netbox_dns.models import View +from netbox_dns_bridge import catalog_zone_manager as catzm from netbox_dns_bridge.request_handler import UDPRequestHandler, TCPRequestHandler from netbox_dns_bridge.dns_server import UDPDNSServer, TCPDNSServer -from netbox_dns_bridge import catalog_zone_manager as catzm from netbox_dns_bridge.models import IntegerKeyValueSetting +from netbox_dns_bridge.logger import get_logger -logger = logging.getLogger(__name__) +logger = get_logger(__name__) class Command(BaseCommand): @@ -70,7 +71,7 @@ class Command(BaseCommand): name=key_name_obj, secret=secret, algorithm=algorithm_str ) self.tsig_view_map[key_name_str] = nb_view - logger.debug(f"Loaded TSIG key: {key_name_str} view: {nb_view.name}") + logger.info(f"Loaded TSIG key {key_name_str} for view {nb_view.name}") if not self.keyring: msg = "No TSIG keys found in database." @@ -104,7 +105,7 @@ class Command(BaseCommand): ) def run_udp_server(server): - logger.debug(f"Query endpoint listening on {address} udp/{port}") + logger.info(f"Query endpoint listening on {address} udp/{port}") server.serve_forever() udp_thread = threading.Thread( @@ -113,5 +114,5 @@ class Command(BaseCommand): udp_thread.start() - logger.debug(f"Query endpoint listening on {address} tcp/{port}") + logger.info(f"Query endpoint listening on {address} tcp/{port}") tcp_server.serve_forever() diff --git a/netbox_dns_bridge/request_handler.py b/netbox_dns_bridge/request_handler.py index 6c26083..2195f81 100644 --- a/netbox_dns_bridge/request_handler.py +++ b/netbox_dns_bridge/request_handler.py @@ -1,4 +1,3 @@ -import logging import socketserver import socket import dns.query @@ -11,11 +10,13 @@ import dns.rdataclass import dns.rdtypes import dns.exception import dns.renderer +import logging +from .logger import get_logger from netbox_dns.models import Zone, Record from netbox_dns.choices import ZoneStatusChoices, RecordStatusChoices from netbox_dns_bridge import catalog_zone_manager as catzm -logger = logging.getLogger(__name__) +logger = get_logger(__name__) class DNSBaseRequestHandler(socketserver.BaseRequestHandler):