> ## Documentation Index
> Fetch the complete documentation index at: https://docs.logbrew.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Referensi LogBrew CLI: perintah dan filter

> Temukan perintah, filter, paginasi berbasis kursor, pantauan langsung, output JSON, dan error LogBrew CLI.

[LogBrew CLI open source](https://github.com/LogBrewCo/cli) membaca telemetri
dan mengelola data akun dari terminal. Mulai dengan panduan
[Gunakan CLI](/id/guides/cli) untuk instalasi, login, dan tugas umum.

## Cara kerja CLI

Gunakan teks yang mudah dibaca di terminal. Gunakan `--json` di skrip dan
agen coding.

Login akun diperlukan untuk pembacaan akun. Sebelum Anda memulai login,
jalankan `logbrew status --json`. Manusia harus menyelesaikan otorisasi di
browser. Kunci ingest proyek mengirim telemetri. Kunci itu tidak bisa
menggantikan login akun.

Pembuatan proyek, pembuatan kunci, perubahan status, prioritas, dan
penanggung jawab masalah, deployment, serta pembaruan dukungan mengubah data
akun. Sebelum Anda menjalankan salah satunya, pastikan tindakan dan targetnya
benar.

Jalankan `logbrew --help` untuk melihat semua perintah. Tambahkan `--help` ke
perintah, seperti `logbrew read logs --help`, untuk melihat flag-nya.
Jalankan `logbrew help json` untuk aturan JSON.

| Kelompok perintah | Tujuan |
| - | - |
| `login`, `whoami`, `me`, `logout` | Mulai login, baca identitas akun, atau tutup sesi lokal. |
| `status`, `health`, `doctor`, `version`, `examples` | Baca akses, kesiapan proyek, versi CLI, atau contoh untuk penggunaan pertama. |
| `setup` | Baca manifest lokal dan cetak rencana penyiapan SDK. Perintah ini tidak mengubah file atau menjalankan perintah instalasi. |
| `projects` | Baca katalog proyek yang aktif. |
| `projects repositories` | Baca repositori yang terhubung atau temukan komponen di satu repositori. |
| `projects create`, `projects keys create` | Buat proyek, atau buat kunci ingest untuk proyek yang sudah ada. |
| `projects setup` | Catat penyiapan yang teramati untuk proyek yang sudah ada. |
| `projects archive`, `projects delete` | Arsipkan proyek, atau hapus proyek secara permanen setelah konfirmasi. |
| `usage`, `account usage` | Baca penggunaan, batas, status kuota, dan tanggal reset. |
| `mcp grants`, `mcp revoke` | Tampilkan daftar klien MCP yang terhubung ke akun Anda berdasarkan nama, atau cabut satu koneksi. |
| `read` | Baca log, masalah, aksi, rilis, metrik, trace, atau satu item. |
| `explain` | Baca bukti terbatas untuk masalah, log, aksi, trace, span, metrik, atau rilis. |
| `investigate issue` | Baca bukti investigasi masalah, atau verifikasi deployment kandidat. |
| `issues archive`, `issues resolve`, `issues reopen` | Tetapkan status 1 masalah, atau hingga 100 masalah dalam satu proyek. |
| `issues priority` | Tetapkan prioritas 1 masalah, atau hingga 100 masalah dalam satu proyek. |
| `issues assign`, `issues unassign` | Tetapkan atau hapus penanggung jawab, berupa akun atau tim, untuk 1 masalah, atau hingga 100 masalah dalam satu proyek. |
| `issues assignees` | Tampilkan daftar akun dan tim yang bisa ditugaskan masalah di satu proyek. |
| `issues owners` | Tampilkan daftar usulan pemilik 1 masalah. |
| `issues ownership` | Baca atau tetapkan aturan kepemilikan dan file CODEOWNERS satu proyek. |
| `issues activity` | Baca riwayat perubahan 1 masalah. |
| `issues rule`, `logs rule` | Tetapkan aturan tingkat keparahan untuk 1 masalah atau 1 signature log. |
| `inbox` | Baca masalah yang ditugaskan orang lain kepada Anda atau tim Anda, atau tandai sebagai sudah dibaca. |
| `set issue`, `resolve`, `close`, `ignore`, `reopen` | Tetapkan status 1 masalah. `close` berarti `resolved`. `ignore` dan `ignored` berarti `archived`. |
| `deploy` | Catat satu deployment yang sudah selesai. |
| `debug-artifacts` | Unggah file debug native Apple atau Android, atau cari satu identitas image. |
| `analytics` | Baca ikhtisar, properti, perbandingan, jalur, funnel, retensi, atau siklus hidup. |
| `support` | Buat, baca, balas, tutup, atau buka kembali laporan dukungan. |
| `watch` | Pantau log, masalah, atau aksi secara langsung. |

## <span id="read-a-project-doctor-report">Baca laporan doctor proyek</span>

Gunakan ID proyek dari `logbrew projects --json`:

```bash theme={null}
logbrew doctor --project "<project_id>" --json
```

Perintah ini membaca status proyek dan satu log terbaru. Perintah ini tidak
membuat proyek, mengubah kunci, atau mencatat penyiapan.

Laporan berisi `status`, `checks`, dan `next`. Setiap pemeriksaan berisi
`check`, `status`, dan `next`. Pemeriksaannya adalah `api`, `auth`,
`project`, `ingest_key`, `setup`, `telemetry`, dan `logs`.

Kode keluar `0` berarti CLI menulis laporan. Kode itu tidak berarti proyek
sudah siap. Baca `status` laporan dan setiap pemeriksaan. Pemeriksaan
`not_checked` tidak lolos.

| `status` laporan | Arti dan langkah berikutnya |
| - | - |
| `auth_invalid` | Akses akun tidak ada atau tidak valid. Manusia menjalankan `logbrew login`. |
| `project_missing` | Akun ini tidak bisa mengakses proyek. Gunakan ID dari `logbrew projects --json`. |
| `api_unreachable` | Permintaan API tidak selesai. Periksa koneksi jaringan, lalu jalankan perintah lagi. |
| `check_failed` | Permintaan gagal atau responsnya tidak valid. Jalankan lagi perintah tanpa perubahan. Jika gagal lagi, [laporkan masalah](/id/guides/report-a-problem). |
| `needs_ingest_key` | Proyek tidak punya kunci ingest yang aktif. Buat kunci hanya jika Anda punya izin untuk mengubah proyek. |
| `needs_setup` | Penyiapan SDK diperlukan. Ikuti panduan [Mulai cepat](/id/quickstart). |
| `needs_telemetry` | Penyiapan sudah dimulai, tetapi LogBrew belum punya telemetri untuk proyek. Kirim peristiwa uji. |
| `ready` | Proyek punya kunci aktif dan telemetri. Baca sinyal untuk tugas Anda. |

Saat pembacaan proyek berhasil, pemeriksaan `logs` bernilai `visible`,
`empty`, `unavailable`, `error`, atau `invalid_response`. Pemeriksaan ini
tidak mengubah `status` laporan. Hasil log kosong tidak mengatakan apa pun
tentang sinyal lain. Pembacaan yang gagal bukan hasil kosong.

Gunakan `next` sebagai panduan pemulihan. Nilai ini tidak memberi izin untuk
mengubah status akun atau proyek.

### Contoh: akses akun tidak ada

Tanpa kredensial akun, perintah ini tidak membuat permintaan API. Perintah ini
menulis laporan berikut ke standard output dan keluar dengan kode `0`:

```json theme={null}
{
  "checks": [
    { "check": "api", "next": "run the API reachability check first", "status": "not_checked" },
    { "check": "auth", "next": "run logbrew login", "status": "missing" },
    { "check": "project", "next": "resolve the prior check first", "status": "not_checked" },
    { "check": "ingest_key", "next": "resolve the prior check first", "status": "not_checked" },
    { "check": "setup", "next": "resolve the prior check first", "status": "not_checked" },
    { "check": "telemetry", "next": "resolve the prior check first", "status": "not_checked" },
    { "check": "logs", "next": "resolve the prior check first", "status": "not_checked" }
  ],
  "next": "run logbrew login",
  "status": "auth_invalid"
}
```

Laporan ini berbeda dari [diagnosis API
proyek](/id/concepts/projects#diagnose-project-setup). Laporan ini tidak berisi
kolom API `state`, `setup_status`, atau `next_action`.

## <span id="filters">Filter</span>

| Filter | Perintah |
| - | - |
| `--project <project_id>` | logs, issues, actions, releases, metrics, traces, trace |
| `--release <release>` | logs, issues, actions, releases, metrics, traces, trace |
| `--environment <environment>` | logs, issues, actions, releases, metrics, traces, trace |
| `--service <service_name>` | logs, issues, actions, releases, metrics, traces |
| `--since 24h` | logs, issues, actions, releases, metrics, traces, analytics |
| `--until <RFC3339>` | logs, issues, actions, releases, metrics, traces, analytics |
| `--limit 100` | logs, issues, actions, releases, metrics, traces |
| `--severity error` | logs, watch |
| `--search checkout` | logs |
| `--trace <trace_id>` | logs |
| `--status unresolved` | issues (`unresolved`, `resolved`, `archived`) |
| `--priority high` | issues (`high`, `medium`, `low`) |
| `--assignee me` | issues (`me`, `none`, `my_teams`, ID pengguna, atau `team:<team_id>`) |
| `--status error` | traces (`error`, `ok`) |
| `--min-duration-ms <milliseconds>` | traces |
| `--name <name>` | actions, metrics |
| `--user <distinct_id>` | actions |

`--since` menerima durasi seperti `24h` atau `7d`, atau stempel waktu
RFC 3339. `--until` menerima stempel waktu RFC 3339. Nilai ini adalah waktu
akhir yang eksklusif dan harus lebih akhir dari `--since`. Pembacaan satu
masalah berdasarkan ID tidak menerima `--until`.

Tingkat keparahan log bernilai `info`, `warning`, `error`, atau `critical`.
Status masalah adalah status alur kerja masalah, bukan tingkat keparahannya.
`--status ignored` adalah nama lama untuk `--status archived`.
`--status open` berarti `unresolved`, dan `--status closed` berarti
`resolved`. `--assignee none` memilih masalah tanpa penanggung jawab, dan
`--assignee my_teams` memilih masalah milik tim Anda. Nilai `--assignee` lain
gagal dengan `invalid_assignee`.

CLI juga menerima alias berikut: `--project-id`, `--env`, `--service-name`,
`--trace-id`, `--distinct-id`, dan `--level` untuk `--severity`. Gunakan nama
di tabel untuk skrip baru.

Perintah ini membaca error selama 1 hari:

```bash theme={null}
logbrew read logs --severity error \
  --since 2026-10-01T00:00:00Z --until 2026-10-02T00:00:00Z --json
```

ID proyek memilih proyek. Nama layanan memilih komponen di proyek itu. Beri
tanda kutip pada nilai yang berisi spasi:

```bash theme={null}
logbrew read logs --project "<project_id>" \
  --service checkout-api --since 24h \
  --severity error --search "checkout failed" --json
```

Untuk teks pencarian yang diawali tanda hubung, letakkan `--` sebelum teks:

```bash theme={null}
logbrew logs --json -- --timeout
```

## Pilih kemunculan masalah

Masalah mengelompokkan kemunculan yang cocok. Baca masalah untuk melihat
status, jumlah kemunculan, serta waktu pertama terlihat dan terakhir
terlihat:

```bash theme={null}
logbrew read issue "<issue_id>" --json
```

Gunakan `explain issue` atau `investigate issue` untuk bukti dari satu
kemunculan. Tanpa `--occurrence`, LogBrew memilih kemunculan yang
direkomendasikan. Kemunculan ini tidak selalu peristiwa terbaru. Untuk membaca
peristiwa terbaru:

```bash theme={null}
logbrew explain issue "<issue_id>" --occurrence latest --json
```

`--occurrence` juga menerima `recommended`, `first`, atau ID kemunculan yang
dikembalikan LogBrew. Perintah ini menolak filter proyek, rilis, lingkungan,
dan waktu. Sebelum Anda membandingkan bukti, baca stempel waktu kemunculan
yang dipilih. Lihat [Investigasi masalah](/id/guides/investigate-an-issue)
untuk kolom bukti.

## <span id="change-issue-status-and-priority">Ubah status dan prioritas masalah</span>

Gunakan 1 ID masalah untuk mengubah 1 masalah:

```bash theme={null}
logbrew issues archive "<issue_id>" --json
logbrew issues priority high "<issue_id>" --json
```

`archive` menetapkan `archived`, `resolve` menetapkan `resolved`, dan
`reopen` menetapkan `unresolved`. Prioritas bernilai `high`, `medium`, atau
`low`. Prioritas yang Anda tetapkan akan tetap seperti itu. Jika Anda tidak
menetapkannya, prioritas mengikuti tingkat keparahan masalah.

Untuk mengubah lebih dari 1 masalah, tambahkan `--project`. Semua masalah
harus berada di proyek itu. Satu perintah mengubah hingga 100 masalah:

```bash theme={null}
logbrew issues resolve "<issue_id_1>" "<issue_id_2>" \
  --project "<project_id>" --json
```

Hasilnya berisi 1 entri untuk setiap masalah. Setiap entri bernilai
`updated`, `unchanged`, atau `not_found`. Masalah `unchanged` sudah berisi
nilai yang diminta. Anda bisa menjalankan lagi perintah yang sama setelah
kegagalan jaringan.

Perintah ini tidak meminta konfirmasi. Periksa ID masalah terlebih dahulu.
Pembacaan dan perubahan masalah menampilkan `archived`, bukan `ignored`, serta
`priority`, `priority_source`, dan `assignee` setiap masalah. Lihat
[respons masalah](/id/reference/telemetry-response-shapes#issue-response).

## Tugaskan masalah

Masalah punya 0 atau 1 penanggung jawab: satu akun atau satu tim. Tampilkan
daftar akun dan tim yang bisa Anda tugaskan di suatu proyek:

```bash theme={null}
logbrew issues assignees --project "<project_id>" --json
```

Tugaskan 1 masalah ke suatu akun, ke diri Anda sendiri dengan `me`, atau ke
suatu tim:

```bash theme={null}
logbrew issues assign "<user_id>" "<issue_id>" --json
logbrew issues assign me "<issue_id>" --json
logbrew issues assign "team:<team_id>" "<issue_id>" --json
```

Batalkan penugasan:

```bash theme={null}
logbrew issues unassign "<issue_id>" --json
```

Tambahkan `--project` untuk mengubah hingga 100 masalah di proyek itu, sama
seperti untuk status dan prioritas. Akun harus bisa membaca proyek, dan tim
harus berada di organisasi proyek. Untuk menemukan masalah yang ditugaskan
kepada Anda atau tim Anda:

```bash theme={null}
logbrew read issues --project "<project_id>" --assignee my_teams \
  --status unresolved --json
```

Output teks menampilkan nama penanggung jawab, atau `team #<slug>` untuk tim.
Jika akun tidak punya nama, output menampilkan alamat email, lalu ID pengguna.
Masalah tanpa penanggung jawab menampilkan `unassigned`.

## <span id="owners-history-and-the-inbox">Pemilik, riwayat, dan kotak masuk</span>

```bash theme={null}
logbrew issues owners "<issue_id>" --json
logbrew issues ownership --project "<project_id>" --json
logbrew issues ownership set --project "<project_id>" \
  --rules ownership.txt --codeowners .github/CODEOWNERS --json
logbrew issues activity "<issue_id>" --limit 50 --json
logbrew inbox --json
logbrew inbox read --json
```

`issues owners` menampilkan daftar usulan pemilik dan bukti yang diperiksanya.
`issues ownership set` mengirim file lokal dengan ukuran maksimal 128 KiB per
file. File kosong menghapus isinya. `issues activity` dan `inbox` menerima
`--limit` dari 1 sampai 200, serta `--cursor-time` dengan `--cursor-id` dari
`next_cursor`. Lihat
[Cari pemilik masalah](/id/guides/issue-workflow#find-who-owns-an-issue).

## <span id="set-severity-rules">Tetapkan aturan tingkat keparahan</span>

```bash theme={null}
logbrew issues rule "<issue_id>" warning --json
logbrew logs rule "<log_id>" info --ignore --json
```

Tingkat keparahan bernilai `info`, `warning`, `error`, `critical`, atau
`source`. `source` kembali menampilkan tingkat keparahan yang terekam.
`--ignore` menyembunyikan log yang cocok dari daftar log default. Tanpa
`--ignore`, aturan itu menampilkannya.

## <span id="read-the-next-page">Baca halaman berikutnya</span>

Log, masalah, aksi, metrik, dan trace menerima paginasi berbasis kursor.
Rilis tidak. Gunakan `--pagination cursor` untuk halaman pertama:

```bash theme={null}
logbrew read logs --project "<project_id>" --since 24h \
  --pagination cursor --limit 100 --json
```

Respons berisi `logs` dan `next_cursor`. `next_cursor` yang tidak null berisi
`time` dan `id`. Kirim keduanya dengan `--cursor-time` dan `--cursor-id`:

```bash theme={null}
logbrew read logs --project "<project_id>" --since 24h \
  --pagination cursor --limit 100 \
  --cursor-time "<returned_time>" \
  --cursor-id "<returned_id>" --json
```

Pertahankan filter dan batas yang sama di setiap halaman. Berhenti saat
`next_cursor` bernilai `null`. Gunakan kursor, bukan jumlah baris, untuk
menentukan apakah masih ada halaman lain. Halaman terakhir bisa kosong:

```json theme={null}
{
  "logs": [],
  "next_cursor": null
}
```

Masalah, aksi, dan metrik memakai bentuk yang sama, dengan `issues`,
`actions`, atau `metrics` sebagai ganti `logs`.

## <span id="live-watch">Pantauan langsung</span>

`logbrew watch --json` men-stream log, masalah, dan aksi secara langsung.
Tambahkan `logs`, `issues`, atau `actions` untuk men-stream satu jenis saja.
`tail`, `follow`, dan `stream` adalah alias dari `watch`. Watch tidak
mendukung trace atau span.

Watch memerlukan `--json`. Tanpa flag itu, perintah menulis `watch streams JSON for
agents` dan keluar dengan kode `1`.

Peristiwa masalah di watch menampilkan masalah yang diarsipkan sebagai
`ignored`, tanpa prioritas. Baca masalah untuk mendapatkan status dan
prioritas terkininya.

Watch hanya menerima `--severity`, seperti `--severity error,critical`.
`logbrew watch actions` tidak menerima `--severity`. CLI menerapkan filter ini
setelah menerima peristiwa. Filter ini tidak mengurangi data yang dikirim
server. Watch tidak punya filter proyek, rilis, lingkungan, atau waktu. Untuk
filter itu, gunakan perintah `read`. Setelah koneksi terputus sementara, CLI
menunggu lalu menyambung kembali.

## <span id="read-results-and-errors">Baca hasil dan error</span>

Letakkan `--json` sebelum atau sesudah perintah. Baca kode keluar sebelum Anda
memakai output. Jangan mem-parse output yang ditujukan untuk manusia. Output
itu bisa berubah antarversi.

| Kode keluar | Arti |
| - | - |
| `0` | Sukses. JSON ada di standard output. |
| `1` | Perintah gagal saat berjalan, misalnya karena error API atau jaringan. |
| `2` | CLI menolak perintah sebelum dijalankan. |

Output sukses mempertahankan format respons API. Output bisa berupa array atau
objek. Tanpa paginasi berbasis kursor, pembacaan log mengembalikan array.
Array kosong berarti tidak ada log yang cocok. Itu bukan error.

Error dikirim ke standard error. Pengecualiannya adalah
`debug-artifacts --json`, yang menulis error ke standard output. Error JSON
berisi `ok`, `error`, `message`, dan `next`. Gunakan `error` sebagai kode
kegagalan yang stabil. Periksa `next` sebelum Anda menjalankan perintah yang
disarankannya.

Misalnya, `logbrew watch traces --json` keluar dengan kode `2` dan menulis:

```json theme={null}
{
  "ok": false,
  "error": "unknown_resource",
  "message": "unknown resource: traces",
  "next": "use logbrew traces for recent traces, or logbrew trace <trace_id> for one trace"
}
```

`logbrew read logs --limit 0 --json` keluar dengan kode `2` dan menulis:

```json theme={null}
{
  "ok": false,
  "error": "invalid_limit",
  "message": "invalid limit: 0",
  "next": "use --limit with a positive whole number"
}
```

Perbaiki nilainya dan jalankan perintah lagi. Perintah yang ditolak bukan
hasil kosong. Lihat [Error API](/id/reference/api-errors) untuk error HTTP dan referensi
[API Telemetri](/id/reference/telemetry-api) untuk permintaan API langsung.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.