From 7db8997e2fea9722302491602e4d4f315a91a868 Mon Sep 17 00:00:00 2001 From: Thomas Ciesla Date: Fri, 9 Jan 2026 16:03:54 +0100 Subject: [PATCH] fix request log --- jtl-wafi-agent.py | 38 +++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/jtl-wafi-agent.py b/jtl-wafi-agent.py index 634e624..3b5598a 100644 --- a/jtl-wafi-agent.py +++ b/jtl-wafi-agent.py @@ -1613,10 +1613,13 @@ def _load_initial_request_details(tracker: LiveStatsTracker, shop: str, max_line except Exception: continue - logger.info(f"Initiale Request-Details für {shop} geladen: {len(tracker.ip_request_details)} IPs") + total_requests = sum(len(reqs) for reqs in tracker.ip_request_details.values()) + logger.info(f"Initiale Request-Details für {shop} geladen: {len(tracker.ip_request_details)} IPs, {total_requests} Requests total") except Exception as e: logger.warning(f"Fehler beim Laden der initialen Request-Details für {shop}: {e}") + import traceback + logger.debug(traceback.format_exc()) # ============================================================================= @@ -4637,20 +4640,29 @@ class JTLWAFiAgent: # WHOIS-Lookup durchführen (wird gecacht) result = whois_lookup(ip) - # Request-Historie für diese IP sammeln (aus allen Shops wenn kein Shop angegeben) + # Request-Historie für diese IP sammeln requests = [] - if shop: - tracker = get_shop_stats_tracker(shop) - requests = tracker.get_ip_requests(ip) # Alle Requests + + # Shops ermitteln - entweder spezifischer Shop oder alle aktiven + shops_to_check = [] + if shop and shop.strip(): + shops_to_check = [shop] else: - # Aus allen aktiven Shops sammeln - for s in list(_shop_stats_trackers.keys()): - tracker = get_shop_stats_tracker(s) - shop_requests = tracker.get_ip_requests(ip) # Alle Requests - for r in shop_requests: - r['shop'] = s - requests.extend(shop_requests) - # Nach Zeit sortieren (neueste zuerst) + # Alle aktiven Shops durchsuchen + shops_to_check = list(get_active_shops()) + + logger.debug(f"WHOIS für {ip}: Prüfe {len(shops_to_check)} Shops: {shops_to_check}") + + for s in shops_to_check: + tracker = get_shop_stats_tracker(s) + shop_requests = tracker.get_ip_requests(ip) + logger.debug(f"Shop {s}: {len(shop_requests)} Requests für IP {ip}, Tracker hat {len(tracker.ip_request_details)} IPs") + for r in shop_requests: + r['shop'] = s + requests.extend(shop_requests) + + # Nach Zeit sortieren (neueste zuerst) + if requests: requests.sort(key=lambda x: x['ts'], reverse=True) # Ergebnis senden