import type { EreignisSenke } from "@/engine/ablauf/ablauf"; import type { AufrufBeobachter } from "@/engine/proxmox/client"; /** * Schreibt Proxmox-Aufrufe ins Detail-Log. Die Abfrageschleifen (Task-Status, Task-Log, * VM-Status) erscheinen nur bei Fehlern – sonst stünden bei jedem Download Hunderte gleicher * Zeilen da, und das Wichtige ginge unter. */ const SCHLEIFE = /\/tasks\/[^/]+\/(status|log)$|\/status\/current$/; export function aufrufLogger(senke: EreignisSenke): AufrufBeobachter { return (aufruf, ergebnis) => { const pfad = decodeURIComponent(aufruf.pfad); if (!ergebnis.fehler && aufruf.methode === "GET" && SCHLEIFE.test(pfad)) return; void senke.log( ergebnis.fehler ? "warn" : "debug", `${aufruf.methode} ${pfad} · ${ergebnis.dauerMs} ms${ergebnis.fehler ? ` · ${ergebnis.fehler.ursache}` : ""}${ ergebnis.wiederholung ? ` · vorübergehend, Versuch ${ergebnis.wiederholung + 1} folgt` : "" }`, ); }; }