Log-Formatter

Füge JSON-, nginx-, Docker-, syslog- oder einfache Logs ein, um sie lokal in deinem Browser zu normalisieren, nach Level zu filtern und zu inspizieren.

Sensible Logs verlassen deinen Browser nie. Formatierung, Parsing und Filterung passieren alle lokal.

log-formatter.input

Füge JSON-Logs, nginx-Access-/Error-Zeilen, Docker-Logs oder syslog-Einträge ein. TeaFun normalisiert sie lokal und lässt dich nach Level oder Suchbegriffen filtern.

Kopiert

0 Bytes

Du hast gerade Log-Formatter getestet — Probiere als Nächstes JSON-Formatter & -Validator →

Was ist ein Log-Formatter?

Der Log-Formatter erfasst Log-Zeilen aus mehreren Quellen und zeigt eine einheitliche, filterbares Ansicht. Unterstützte Eingaben: Common Log Format und Combined Log Format von nginx und Apache (127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326), JSON Lines von Node.js / Python structlog / Go zap, Syslog gemäß RFC 5424 mit Prioritätswert (<13>1 2003-10-11T22:14:15.003Z mymachine.example.com evntslog ...), Docker JSON-File-Treiber-Ausgabe und freiform Level-präfixierte Zeilen ([ERROR] message...). Jede geparste Zeile wird auf vier erforderliche Felder normalisiert — Zeitstempel (ISO-8601), Level (Trace bis Fatal), Quelle (Process / Container / Host), Nachricht — plus alle zusätzlichen strukturierten Felder, die das Original mit sich führte. Mehrzeilige Stack-Traces werden über Einzugsheuristiken mit ihrer übergeordneten Zeile wieder verbunden, sodass eine Java-Exception oder Python-Traceback als einzelner Eintrag erhalten bleibt, anstatt sich über die Tabelle zu verteilen.

So nutzt du den Log-Formatter

Füge Log-Zeilen ein - Formate durcheinander sind in einem Einfügen in Ordnung. Der Parser erkennt automatisch pro Zeile: { am Anfang triggert JSON-Parsing, <n> PRIVAL-Präfix triggert Syslog RFC 5424, IP am Anfang triggert Common Log Format, Level-Token in Klammern triggert Level-Präfix-Parsing. Die Zusammenfassung zeigt Gesamt- / geparste / ungeparste Zählungen und erkannte Formate. Filtere nach Schweregrad (Trace, Debug, Info, Warn, Error, Fatal); Level folgen Syslog-Reihenfolge, also sind mit "Warn" auch Error und Fatal inbegriffen. Tippe ins Suchfeld, um gleichzeitig über Zeitstempel-, Quell- und Nachrichtenfelder zu filtern. Klicke auf eine Zeile, um die Rohzeile neben der geparten Ansicht zu sehen. Kopiere die normalisierte JSON-Lines-Ausgabe für Downstream-Tools - jq, grep oder Erfassung in Elasticsearch / Loki via Filebeat.

Warum Log-Normalisierung wichtig ist

Produktionsvorfälle beinhalten die Korrelation von Ereignissen über Services hinweg, die jeweils ihr eigenes Log-Format wählen. Ein nginx-502 in Common Log Format, ein Node.js-JSON-Log, das besagt, dass der Upstream Timeout hat, und eine Syslog-Nachricht vom Host-Kernel über einen OOM-Kill beschreiben denselben Vorfall aus drei Blickwinkeln. Der langsame Weg ist, drei Terminals zu öffnen, tail | grep gegen jedes auszuführen und Zeitstempel mental auszurichten. Der schnelle Weg ist, alle drei Streams zu einem gemeinsamen Schema zu normalisieren und zusammen zu filtern. Aggregationsplattformen (Datadog, Grafana Loki, OpenSearch / Elasticsearch) bieten dies serverseitig, kosten aber Geld pro GB und erfordern das Versenden von Logs aus deinem Netzwerk. Für lokale Priorisierung — besonders auf Staging-Boxen, bei Customer-On-Prem-Deployments oder wenn sensible Logs das LAN nicht verlassen können — ist ein browserbasierter Normalizer schneller, als einen Log-Stack aufzubauen, nur um zu fragen: "Was ist um 14:32:07 schief gelaufen?".

Häufig gestellte Fragen

Welche Log-Formate werden unterstützt?

Der Formatter erkennt strukturierte JSON-Logs, nginx-Access-/Error-Logs, Docker-Stream-Output, syslog-ähnliche Zeilen und einfache Level-präfixierte Logs. Unbekannte Zeilen werden weiterhin als Klartext angezeigt.

Werden Logs irgendwohin hochgeladen?

Nein. Logs bleiben im Browser für Parsing, Filterung und Kopier-/Export-Aktionen.

Warum werden einige Zeilen als Klartext markiert?

Wenn eine Zeile keinem der bekannten Formate entspricht, wird sie als Klartext beibehalten, sodass du sie trotzdem durchsuchen und inspizieren kannst, ohne Inhalt zu verlieren.