
# Seguire i log con keenauth logs tail

`keenauth logs tail` segue i log dell'ambiente (accessi, sessioni, token, MFA, protezione dagli attacchi) mentre lavori, come `tail -f`. Stampa per primi i record più recenti, dal più vecchio al più recente, poi controlla a intervalli fissi la presenza di nuovi record e li stampa non appena compaiono. Premi Ctrl-C per fermarlo; il comando termina quindi con codice 0.

Il comando legge gli stessi record di `keenauth logs list` e richiede la stessa autorizzazione (`logs:read`). Funziona con una chiave API e con una sessione `keenauth login`.

## Utilizzo

```sh
keenauth logs tail --type authentication. --user usr_01j9z3k4m5n6p7q8r9s0t1v2w3
```

| Flag | Descrizione |
|---|---|
| `--type` | Prefisso del tipo di log, per esempio `authentication.` o `session.created`. Separati da virgola o ripetuti, al massimo 20; viene mostrato un record che corrisponde a uno qualsiasi di essi. |
| `--user` | Solo i record di questo utente (`usr_…`). |
| `--org` | Solo i record di questa organizzazione (`org_…`). |
| `--limit` | Numero di record recenti stampati prima di iniziare a seguire, da 1 a 100. Predefinito: 20. |
| `--interval` | Tempo tra due controlli, da `1s` a `60s`. Predefinito: `5s`. |
| `--output`, `-o` | `table`, `json` o `yaml`. Senza il flag la CLI stampa una tabella su un terminale e JSON altrimenti. |

Un filtro o un intervallo non validi interrompono il comando con codice 2 prima che venga inviata qualsiasi richiesta.

## Output

- `table`: una riga per record con l'orario (UTC), il tipo, l'esito, l'utente, l'organizzazione e l'ID del log; un valore mancante viene mostrato come `-`.
- `json`: un oggetto JSON per riga (JSON delimitato da newline), lo stesso oggetto restituito da `keenauth logs get`. È il valore predefinito quando stdout non è un terminale, così puoi inviarlo in pipe, per esempio a `jq`.
- `yaml`: un documento YAML per record, ciascuno che inizia con `---`.

```sh
keenauth logs tail --type authentication.failed -o json | jq -r '.ip_country'
```

L'indirizzo IP, l'agente utente e il suggerimento sull'identificatore compaiono solo se la tua credenziale ha le autorizzazioni descritte in [l'API dei log](/docs/api/management/logs/list).

## Come segue i log

L'API dei log restituisce per primi i record più recenti e non ha un parametro di attesa, quindi il comando esegue un polling. Dopo la prima pagina, ogni controllo richiede i record a partire dal momento più recente stampato e salta quelli già stampati, così nessun record viene mostrato due volte. Un controllo segue le pagine di risultati finché non ha tutti i nuovi record, fino a 2.000 record per controllo. I record più vecchi della finestra di conservazione del tuo piano non vengono restituiti.

## Codici di uscita

| Codice | Significato |
|---|---|
| `0` | Arrestato con Ctrl-C. |
| `1` | Un errore del server o un errore di rete. |
| `2` | Errore di utilizzo: un filtro, un limite, un intervallo o un formato di output non validi. Nessuna richiesta è stata inviata. |
| `3` | La credenziale manca, oppure il server ha risposto `401` o `403`. |
| `4` | Il piano non include la funzione (`403` con `plan_feature_unavailable`). |
