Skip to main content
La CLI LogBrew open source lit la télémétrie et gère les données du compte depuis un terminal. Commencez par le guide Utiliser la CLI pour l’installation, la connexion et les tâches courantes.

Fonctionnement de la CLI

Dans un terminal, utilisez la sortie texte lisible. Utilisez --json dans les scripts et avec les agents de codage. La connexion au compte est nécessaire pour lire les données du compte. Avant de lancer une connexion, exécutez logbrew status --json. Une personne doit terminer l’autorisation dans le navigateur. Les clés d’ingestion de projet envoient la télémétrie. Elles ne remplacent pas la connexion au compte. La création de projets et de clés, les modifications du statut, de la priorité et du responsable des problèmes, les déploiements et les mises à jour du support modifient les données du compte. Avant de lancer l’une de ces opérations, vérifiez que l’action et la cible sont correctes. Exécutez logbrew --help pour voir toutes les commandes. Ajoutez --help à une commande, comme logbrew read logs --help, pour voir ses options. Exécutez logbrew help json pour les règles JSON.

Lire le rapport de diagnostic d’un projet

Utilisez un ID de projet issu de logbrew projects --json :
La commande lit l’état du projet et un log récent. Elle ne crée pas de projet, ne modifie pas de clé et n’enregistre pas de configuration. Le rapport contient status, checks et next. Chaque vérification contient check, status et next. Les vérifications sont api, auth, project, ingest_key, setup, telemetry et logs. Le code de sortie 0 signifie que la CLI a écrit un rapport. Il ne signifie pas que le projet est prêt. Lisez le status du rapport et chaque vérification. Une vérification not_checked n’a pas réussi. Quand la lecture du projet réussit, la vérification logs vaut visible, empty, unavailable, error ou invalid_response. Cette vérification ne modifie pas le status du rapport. Un résultat de logs vide n’indique rien sur les autres signaux. Une lecture échouée n’est pas un résultat vide. Utilisez next comme indication de correction. Il n’autorise pas à modifier l’état du compte ou du projet.

Exemple : accès au compte manquant

Sans identifiants de compte, la commande n’envoie aucune requête à l’API. Elle écrit ce rapport sur la sortie standard et quitte avec le code 0 :
Ce rapport est différent du diagnostic de projet par l’API. Il ne contient pas les champs d’API state, setup_status ni next_action.

Filtres

--since accepte une durée comme 24h ou 7d, ou un horodatage RFC 3339. --until accepte un horodatage RFC 3339. C’est une heure de fin exclue, qui doit être postérieure à --since. La lecture d’un seul problème par ID n’accepte pas --until. La gravité d’un log vaut info, warning, error ou critical. Le statut d’un problème est son état dans le workflow, pas sa gravité. --status ignored est un ancien nom de --status archived. --status open signifie unresolved, et --status closed signifie resolved. --assignee none sélectionne les problèmes sans responsable, et --assignee my_teams sélectionne les problèmes de vos équipes. Toute autre valeur de --assignee échoue avec invalid_assignee. La CLI accepte aussi ces alias : --project-id, --env, --service-name, --trace-id, --distinct-id, et --level pour --severity. Utilisez les noms du tableau dans les nouveaux scripts. Cette commande lit les erreurs d’une journée :
L’ID du projet sélectionne le projet. Le nom du service sélectionne un composant de ce projet. Mettez entre guillemets les valeurs qui contiennent des espaces :
Pour un texte de recherche qui commence par un tiret, placez -- avant le texte :

Sélectionner une occurrence d’un problème

Un problème regroupe des occurrences correspondantes. Lisez le problème pour obtenir son statut, son nombre d’occurrences et les dates de première et de dernière occurrence :
Utilisez explain issue ou investigate issue pour les preuves d’une occurrence. Sans --occurrence, LogBrew sélectionne l’occurrence recommandée. Ce n’est pas toujours la plus récente. Pour lire la plus récente :
--occurrence accepte aussi recommended, first ou un ID d’occurrence renvoyé par LogBrew. Ces commandes refusent les filtres de projet, de version, d’environnement et de temps. Avant de comparer des preuves, lisez l’horodatage de l’occurrence sélectionnée. Consultez Investiguer un problème pour les champs de preuves.

Modifier le statut et la priorité des problèmes

Pour modifier un seul problème, utilisez son ID :
archive définit archived, resolve définit resolved et reopen définit unresolved. La priorité vaut high, medium ou low. Une priorité que vous définissez reste fixe. Sinon, la priorité suit la gravité du problème. Pour modifier plusieurs problèmes, ajoutez --project. Tous les problèmes doivent appartenir à ce projet. Une commande modifie 100 problèmes au plus :
Le résultat contient une entrée par problème. Chaque entrée vaut updated, unchanged ou not_found. Un problème unchanged avait déjà la valeur demandée. Vous pouvez relancer la même commande après une panne réseau. Ces commandes ne demandent pas de confirmation. Vérifiez d’abord les ID des problèmes. Les lectures et modifications de problèmes affichent archived au lieu de ignored, ainsi que la priority, la priority_source et l’assignee de chaque problème. Consultez la réponse d’un problème.

Attribuer des problèmes

Un problème a au plus un responsable : un compte ou une équipe. Listez les comptes et les équipes auxquels vous pouvez attribuer des problèmes dans un projet :
Attribuez un problème à un compte, à vous-même avec me, ou à une équipe :
Retirez l’attribution :
Ajoutez --project pour modifier jusqu’à 100 problèmes de ce projet, comme pour le statut et la priorité. Un compte doit pouvoir lire le projet, et une équipe doit appartenir à l’organisation du projet. Pour trouver les problèmes qui vous sont attribués, à vous ou à vos équipes :
La sortie texte affiche le nom du responsable, ou team #<slug> pour une équipe. Si le compte n’a pas de nom, elle affiche l’adresse e-mail, puis l’ID de l’utilisateur. Un problème sans responsable affiche unassigned.

Propriétaires, historique et boîte de réception

issues owners liste les propriétaires suggérés et les preuves vérifiées. issues ownership set envoie des fichiers locaux de 128 Kio au plus chacun. Un fichier vide efface son texte. issues activity et inbox acceptent --limit de 1 à 200, ainsi que --cursor-time avec --cursor-id issus de next_cursor. Consultez Trouver le propriétaire d’un problème.

Définir des règles de gravité

La gravité vaut info, warning, error, critical ou source. source rétablit l’affichage de la gravité capturée. --ignore masque les logs correspondants dans la liste de logs par défaut. Sans --ignore, la règle les affiche.

Lire la page suivante

Les logs, problèmes, actions, métriques et traces acceptent la pagination par curseur. Les versions ne l’acceptent pas. Utilisez --pagination cursor pour la première page :
La réponse contient logs et next_cursor. Un next_cursor non nul contient time et id. Envoyez-les avec --cursor-time et --cursor-id :
Gardez les mêmes filtres et la même limite sur chaque page. Arrêtez-vous quand next_cursor vaut null. Utilisez le curseur, pas le nombre de lignes, pour savoir s’il reste des pages. La dernière page peut être vide :
Les problèmes, actions et métriques utilisent la même forme, avec issues, actions ou metrics à la place de logs.

Suivi en direct

logbrew watch --json diffuse en direct les logs, problèmes et actions. Ajoutez logs, issues ou actions pour diffuser un seul type. tail, follow et stream sont des alias de watch. Le suivi ne prend pas en charge les traces ni les spans. Le suivi nécessite --json. Sans cette option, la commande écrit watch streams JSON for agents et quitte avec le code 1. Dans les événements de problèmes du suivi, un problème archivé apparaît comme ignored, sans priorité. Lisez le problème pour obtenir son statut et sa priorité actuels. Le suivi accepte uniquement --severity, comme --severity error,critical. logbrew watch actions n’accepte pas --severity. La CLI applique ce filtre après avoir reçu les événements. Il ne réduit pas ce que le serveur envoie. Le suivi n’a pas de filtre de projet, de version, d’environnement ni de temps. Pour ces filtres, utilisez une commande read. Après une déconnexion temporaire, la CLI attend, puis se reconnecte.

Lire les résultats et les erreurs

Placez --json avant ou après la commande. Lisez le code de sortie avant d’utiliser la sortie. N’analysez pas la sortie lisible par un humain : elle peut changer d’une version à l’autre. En cas de succès, la sortie garde la forme de la réponse de l’API. Ce peut être un tableau ou un objet. Sans pagination par curseur, une lecture de logs renvoie un tableau. Un tableau vide signifie qu’aucun log ne correspond. Ce n’est pas une erreur. Les erreurs vont sur la sortie d’erreur standard. L’exception est debug-artifacts --json, qui écrit les erreurs sur la sortie standard. Une erreur JSON contient ok, error, message et next. Utilisez error comme code d’échec stable. Examinez next avant d’exécuter la commande qu’il suggère. Par exemple, logbrew watch traces --json quitte avec le code 2 et écrit :
logbrew read logs --limit 0 --json quitte avec le code 2 et écrit :
Corrigez la valeur et relancez la commande. Une commande refusée n’est pas un résultat vide. Consultez Erreurs de l’API pour les erreurs HTTP et l’API de télémétrie pour les requêtes directes à l’API.