LoggerPro 2.1 veröffentlicht: JSON-Konfiguration, ExeWatch, LogFmt und vieles mehr
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
- GitHub-Repository
- ZIP-Releases
- Issue Tracker
- BOSS-Paket
- LoggerPro 2.0 Dokumentation · LoggerPro 1.x Dokumentation
Viel Spaß beim Loggen.
Comments
comments powered by Disqus