Skip to main content
Die Open-Source-CLI von LogBrew liest Telemetrie und verwaltet Kontodaten aus einem Terminal. Installation, Anmeldung und häufige Aufgaben beschreibt der CLI-Leitfaden.

So funktioniert die CLI

Verwenden Sie im Terminal lesbaren Text. Verwenden Sie in Skripten und Coding-Agenten --json. Für Lesevorgänge im Konto brauchen Sie eine Kontoanmeldung. Führen Sie vor einer Anmeldung logbrew status --json aus. Eine Person muss die Autorisierung im Browser abschließen. Ingest-Schlüssel eines Projekts senden Telemetrie. Sie ersetzen keine Kontoanmeldung. Projekte erstellen, Schlüssel erstellen, Status, Priorität und Zuweisung eines Issues ändern, Bereitstellungen und Support-Aktualisierungen ändern Kontodaten. Prüfen Sie vor einem solchen Befehl, ob Aktion und Ziel stimmen. Führen Sie logbrew --help aus, um alle Befehle zu sehen. Hängen Sie --help an einen Befehl an, zum Beispiel logbrew read logs --help, um seine Flags zu sehen. Führen Sie logbrew help json für die JSON-Regeln aus.

Doctor-Bericht eines Projekts lesen

Verwenden Sie eine Projekt-ID aus logbrew projects --json:
Der Befehl liest den Projektzustand und ein aktuelles Log. Er erstellt kein Projekt, ändert keinen Schlüssel und hält keine Einrichtung fest. Der Bericht hat status, checks und next. Jede Prüfung hat check, status und next. Die Prüfungen sind api, auth, project, ingest_key, setup, telemetry und logs. Exit-Code 0 heißt, dass die CLI einen Bericht geschrieben hat. Er heißt nicht, dass das Projekt bereit ist. Lesen Sie den status des Berichts und jede Prüfung. Eine Prüfung mit not_checked ist nicht bestanden. Wenn das Lesen des Projekts gelingt, ist die Prüfung logs gleich visible, empty, unavailable, error oder invalid_response. Diese Prüfung ändert den status des Berichts nicht. Ein leeres Log-Ergebnis sagt nichts über andere Signale. Ein fehlgeschlagenes Lesen ist kein leeres Ergebnis. Nutzen Sie next als Hinweis zur Wiederherstellung. Es erteilt keine Erlaubnis, den Zustand von Konto oder Projekt zu ändern.

Beispiel: Kontozugang fehlt

Ohne Konto-Zugangsdaten stellt der Befehl keine API-Anfrage. Er schreibt diesen Bericht in die Standardausgabe und endet mit Code 0:
Dieser Bericht unterscheidet sich von der Diagnose über die Projekt-API. Er enthält nicht die API-Felder state, setup_status oder next_action.

Filter

--since akzeptiert eine Dauer wie 24h oder 7d oder einen RFC-3339-Zeitstempel. --until akzeptiert einen RFC-3339-Zeitstempel. Es ist ein exklusives Ende und muss nach --since liegen. Ein einzelnes Issue nach ID akzeptiert kein --until. Der Schweregrad eines Logs ist info, warning, error oder critical. Der Issue-Status ist der Bearbeitungsstand des Issues, nicht sein Schweregrad. --status ignored ist ein älterer Name für --status archived. --status open bedeutet unresolved, und --status closed bedeutet resolved. --assignee none wählt Issues ohne Zuweisung aus, und --assignee my_teams wählt die Issues Ihrer Teams aus. Jeder andere Wert für --assignee schlägt mit invalid_assignee fehl. Die CLI akzeptiert auch diese Aliasse: --project-id, --env, --service-name, --trace-id, --distinct-id und --level für --severity. Verwenden Sie in neuen Skripten die Namen aus der Tabelle. Dieser Befehl liest die Fehler eines Tages:
Die Projekt-ID wählt das Projekt aus. Der Dienstname wählt eine Komponente in diesem Projekt aus. Setzen Sie Werte mit Leerzeichen in Anführungszeichen:
Bei Suchtext, der mit einem Bindestrich beginnt, setzen Sie -- vor den Text:

Vorkommen eines Issues auswählen

Ein Issue gruppiert passende Vorkommen. Lesen Sie das Issue für seinen Status, die Zahl der Vorkommen und die Zeitpunkte für „Zuerst gesehen“ und „Zuletzt gesehen“:
Nutzen Sie explain issue oder investigate issue für die Belege eines Vorkommens. Ohne --occurrence wählt LogBrew das empfohlene Vorkommen aus. Das ist nicht immer das neueste Ereignis. So lesen Sie das neueste Ereignis:
--occurrence akzeptiert auch recommended, first oder eine Vorkommens-ID, die LogBrew zurückgegeben hat. Diese Befehle lehnen Filter für Projekt, Release, Umgebung und Zeit ab. Lesen Sie den Zeitstempel des gewählten Vorkommens, bevor Sie Belege vergleichen. Die Felder der Belege beschreibt Issue untersuchen.

Status und Priorität eines Issues ändern

Verwenden Sie 1 Issue-ID, um 1 Issue zu ändern:
archive setzt archived, resolve setzt resolved und reopen setzt unresolved. Die Priorität ist high, medium oder low. Eine Priorität, die Sie setzen, bleibt fest. Sonst folgt die Priorität dem Schweregrad des Issues. Um mehr als 1 Issue zu ändern, fügen Sie --project hinzu. Alle Issues müssen in diesem Projekt liegen. Ein Befehl ändert bis zu 100 Issues:
Das Ergebnis hat 1 Eintrag pro Issue. Jeder Eintrag ist updated, unchanged oder not_found. Ein Issue mit unchanged hatte den angefragten Wert schon. Nach einem Netzwerkfehler können Sie denselben Befehl erneut ausführen. Diese Befehle fragen nicht nach einer Bestätigung. Prüfen Sie zuerst die Issue-IDs. Lesevorgänge und Änderungen an Issues zeigen archived statt ignored sowie priority, priority_source und assignee jedes Issues. Siehe die Issue-Antwort.

Issues zuweisen

Ein Issue ist höchstens 1 Konto oder 1 Team zugewiesen. Listen Sie die Konten und Teams auf, die Sie in einem Projekt zuweisen können:
Weisen Sie 1 Issue einem Konto, mit me sich selbst oder einem Team zu:
Entfernen Sie die Zuweisung:
Fügen Sie --project hinzu, um wie bei Status und Priorität bis zu 100 Issues dieses Projekts zu ändern. Ein Konto muss das Projekt lesen können, und ein Team muss zur Organisation des Projekts gehören. So finden Sie die Issues, die Ihnen oder Ihren Teams zugewiesen sind:
Die Textausgabe zeigt den Namen des zugewiesenen Kontos oder bei einem Team team #<slug>. Hat das Konto keinen Namen, zeigt sie die E-Mail-Adresse und danach die Nutzer-ID. Ein Issue ohne Zuweisung zeigt unassigned.

Zuständigkeit, Verlauf und Posteingang

issues owners listet die vorgeschlagenen zuständigen Konten und Teams und die geprüften Belege. issues ownership set sendet lokale Dateien mit jeweils höchstens 128 KiB. Eine leere Datei löscht ihren Text. issues activity und inbox nehmen --limit von 1 bis 200 sowie --cursor-time mit --cursor-id aus next_cursor an. Siehe Zuständigkeit eines Issues finden.

Schweregrad-Regeln setzen

Der Schweregrad ist info, warning, error, critical oder source. source zeigt wieder den erfassten Schweregrad. --ignore blendet passende Logs in der Standardliste der Logs aus. Ohne --ignore zeigt die Regel sie an.

Nächste Seite lesen

Logs, Issues, Aktionen, Metriken und Traces unterstützen Cursor-Paginierung. Releases nicht. Verwenden Sie --pagination cursor für die erste Seite:
Die Antwort hat logs und next_cursor. Ein next_cursor, der nicht null ist, hat time und id. Senden Sie diese Werte mit --cursor-time und --cursor-id:
Behalten Sie auf jeder Seite dieselben Filter und dasselbe Limit. Hören Sie auf, wenn next_cursor gleich null ist. Entscheiden Sie anhand des Cursors, nicht anhand der Zeilenzahl, ob es weitere Seiten gibt. Die letzte Seite kann leer sein:
Issues, Aktionen und Metriken nutzen dieselbe Form mit issues, actions oder metrics statt logs.

Live-Beobachtung

logbrew watch --json streamt Live-Logs, Issues und Aktionen. Fügen Sie logs, issues oder actions hinzu, um nur einen Typ zu streamen. tail, follow und stream sind Aliasse von watch. Watch unterstützt keine Traces oder Spans. Watch braucht --json. Ohne diese Option schreibt der Befehl watch streams JSON for agents und endet mit Code 1. Issue-Ereignisse von Watch zeigen ein archiviertes Issue als ignored, ohne Priorität. Lesen Sie das Issue, um seinen aktuellen Status und seine Priorität zu erhalten. Watch akzeptiert nur --severity, zum Beispiel --severity error,critical. logbrew watch actions akzeptiert kein --severity. Die CLI wendet diesen Filter an, nachdem sie die Ereignisse empfangen hat. Er verringert nicht, was der Server sendet. Watch hat keinen Filter für Projekt, Release, Umgebung oder Zeit. Für diese Filter nutzen Sie einen read-Befehl. Nach einer kurzen Unterbrechung wartet die CLI und verbindet sich dann neu.

Ergebnisse und Fehler lesen

Setzen Sie --json vor oder nach den Befehl. Lesen Sie den Exit-Code, bevor Sie die Ausgabe nutzen. Parsen Sie keine Ausgabe für Menschen. Sie kann sich zwischen Versionen ändern. Eine Erfolgsausgabe behält die Form der API-Antwort. Sie kann ein Array oder ein Objekt sein. Ohne Cursor-Paginierung gibt das Lesen von Logs ein Array zurück. Ein leeres Array heißt, dass keine Logs passen. Es ist kein Fehler. Fehler gehen in die Standardfehlerausgabe. Die Ausnahme ist debug-artifacts --json, das Fehler in die Standardausgabe schreibt. Ein JSON-Fehler hat ok, error, message und next. Verwenden Sie error als stabilen Fehlercode. Prüfen Sie next, bevor Sie den vorgeschlagenen Befehl ausführen. logbrew watch traces --json endet zum Beispiel mit Code 2 und schreibt:
logbrew read logs --limit 0 --json endet mit Code 2 und schreibt:
Korrigieren Sie den Wert und führen Sie den Befehl erneut aus. Ein abgelehnter Befehl ist kein leeres Ergebnis. HTTP-Fehler beschreibt API-Fehler, direkte API-Anfragen die Referenz der Telemetrie-API.