Become a member!

LoggerPro 2.1 veröffentlicht: JSON-Konfiguration, ExeWatch, LogFmt und vieles mehr

🌐
Dieser Artikel ist auch in anderen Sprachen verfügbar:
🇬🇧 English  •  🇮🇹 Italiano  •  🇪🇸 Español

LoggerPro 2.1

LoggerPro 2.1 ist draußen. Wer die Bibliothek bisher für einen File-Appender und gelegentliche Konsolenausgabe verwendet hat - jetzt wird es spannend: dieses Release verwandelt LoggerPro in ein vollständiges Observability-Toolkit für Delphi. Und das alles bleibt Apache 2.0, plattformübergreifend und abwärtskompatibel mit Ihrem 2.0-Code.

📘 Direkt zur Dokumentation: LoggerPro 2.1 - Der offizielle Guide → Jedes Feature unten wird ausführlich behandelt, mit vollständigen Code-Beispielen und JSON-Konfigurationsschemata.


Was sich ändert - Die Highlights

🔧 JSON-Konfiguration ohne Neukompilierung

Legen Sie eine loggerpro.json neben die EXE. Betreiber formen die Logging-Pipeline zur Deploy-Zeit um - Backends wechseln, Schwellen justieren, Appender hinzufügen oder entfernen - ohne Delphi-Quelltext anzufassen. Zwei Einstiegspunkte, je nach Reichweite:

// Reines JSON → ILogWriter
Log := LoggerProFromJSONFile('loggerpro.json');

// JSON-Basis + Code-seitiges Chaining (z. B. UI-gebundene Appender)
Log := LoggerProBuilderFromJSONFile('loggerpro.json')
         .WriteToVCLMemo(Memo1).Done
         .Build;

Strenge Schema-Validierung bedeutet: Tippfehler scheitern laut mit diagnostischen Meldungen, die gültige Alternativen auflisten. Keine still halb-funktionierenden Deployments.

📡 ExeWatch Cloud-Observability

Erstklassige Brücke zu ExeWatch - dem Cloud-Observability-Dienst für Desktop- und Backend-Anwendungen. Logs, Exceptions, Breadcrumbs, Geräteinfos - alles, was eine produktive Incident-Untersuchung verlangt, mit einem Dashboard, das Log-Dateien nicht mehr per Mail zirkulieren lässt.

Integration nach Wahl - fluenter Builder, imperativer NewExeWatchAppender oder reines JSON:

{
  "appenders": [
    { "type": "Console" },
    {
      "type": "ExeWatch",
      "apiKey": "ew_win_xxxxxx",
      "customerId": "Acme Corp",
      "appVersion": "2.3.1"
    }
  ]
}

Keine manuelle SDK-Initialisierung - der Appender erledigt das in Setup.

🏷️ LogFmt - greppbarer, Loki-freundlicher Output

Ein spezifikationskonformer LogFmt-Renderer komplettiert die Familie. Output ist eine Zeile pro Event, schlüssel=wert-Paare durch Leerzeichen getrennt, sichere Werte blank, unsichere mit Anführungszeichen:

time=2026-04-18T12:30:45.123Z threadid=7932 type=INFO msg="order placed" tag=ORDERS order_id=42 amount=99.95 paid=true

Nativ abfragbar mit Grafana Loki, humanlog, ripgrep, Vector, Promtail, Fluent Bit. Unter Windows per Get-Content -Wait | rg ERROR getailt, haben Sie in einer PowerShell-Zeile einen brauchbaren Observability-Stack.

🌐 Browserfertiger HTML-Log-Viewer

Eine eigenständige .html-Datei mit fixer Filterleiste, pegelbasierter Zeilenfärbung, Volltextsuche, CSV/JSON-Export und Live-Tailing. Übergeben Sie sie QA oder Support, und sie haben ein kompaktes, offline-fähiges Troubleshooting-Artefakt - kein Server, keine externen Assets, kein Setup.

🏢 FileBySource - mandantenspezifische Logs, endlich

Ein neuer Appender, der in quellenspezifische Unterordner schreibt (denken Sie pro Mandant, pro Kunde, pro Dienst). Tages- und Größenrotation, tagesbasierte Retention, automatisches Entfernen leerer Ordner. Kombiniert mit WithDefaultContext auf einem Sub-Logger bekommt jede Verbindung ihren isolierten Log-Stream, ohne die Quelle bei jedem Aufruf zu wiederholen.

Und mehr

  • UTF-8-Konsolenausgabe mit WithUTF8Output - Schluss mit verstümmelten CJK-, Kyrillisch- oder Emoji-Zeichen in Docker-Containern und Windows-Konsolen
  • DLL-sichere Initialisierung - der Windows-Loader-Lock-Deadlock, wenn LoggerPro in einer DLL läuft, ist weg
  • ElasticSearch-Authentifizierung - Basic Auth, API Key, Bearer Token
  • Laufzeit-MinimumLevel - globales Gate zur Laufzeit umschalten, kein Cast nötig
  • UDP-Syslog-Lokalzeit-Option - für On-Prem-Server, die Lokalzeit statt UTC nach RFC 5424 erwarten
  • GetCurrentLogFileName-API auf File-Appendern - praktisch für Upload-, E-Mail- oder Neustart-Abläufe

Warum es zählt

Delphi hat seit zwanzig Jahren Logging-Bibliotheken. Was 2.1 richtig macht, ist die Ausrichtung an der Art, wie der Rest der Branche 2026 Telemetrie ausliefert:

  • LogFmt und JSONL für strukturierte, greppbare, maschinenfreundliche Ausgabe
  • JSON-Konfiguration für Deploy-Zeit-Flexibilität ohne Rebuilds
  • Cloud-Observability über ExeWatch ohne einen einzigen HTTP-Aufruf zu schreiben
  • Eigenständige HTML-Artefakte für human-freundliche Support-Szenarien

Zusammengenommen bringen sie eine Delphi-Anwendung auf denselben Betriebs-Fußabdruck wie ein .NET- oder Go-Service - mit dem Object-Pascal-Code, den Sie bereits kennen.


Upgrade-Pfad

2.0 → 2.1 ist ein Drop-in-Upgrade. Die einzige breaking Change ist die Umbenennung von WriteToHTTP in WriteToWebhook (ein Find-and-Replace reicht). Alles andere ist additiv. Ihre 2.0-Builder-Ketten kompilieren weiter; Ihre bestehenden Appender und Renderer laufen weiter.

Delphi-Minimum: 10.2 Tokyo. Getestet bis Delphi 13 Florence. Läuft auf Windows, Linux, macOS, Android, iOS.


Hier geht es los

📘 LoggerPro 2.1 — Der offizielle Guide →

Der Guide behandelt jedes der obigen Features mit lauffähigen Code-Beispielen, JSON-Konfigurationsschemata, diagnostischen Fehler-Walkthroughs, Abfragerezepten für LogFmt-Output und einer vollständigen Built-in-Appender-Referenz.

🔗 Links

Viel Spaß beim Loggen.

Comments

comments powered by Disqus