> ## 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.

# Cài đặt và dùng LogBrew CLI

> Cài đặt LogBrew CLI trên macOS, Linux hoặc Windows. Đăng nhập, chọn dự án và điều tra vấn đề với đầu ra JSON.

Giao diện dòng lệnh (CLI) của LogBrew đọc log, vấn đề, trace và hành động từ
terminal. CLI cũng có thể cập nhật trạng thái vấn đề. Dùng `--json` để nhận
đầu ra có cấu trúc cho script và agent AI.

Thay từng giá trị giữ chỗ trong dấu ngoặc nhọn trước khi chạy lệnh. Dùng ID dự
án, ID vấn đề và trace ID mà LogBrew đã trả về.

## Cài đặt CLI

Chọn một cách cài đặt.

macOS hoặc Linux:

```bash theme={null}
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LogBrewCo/cli/releases/latest/download/logbrew-cli-installer.sh | sh
```

Windows (PowerShell):

```powershell theme={null}
powershell -ExecutionPolicy Bypass -c "irm https://github.com/LogBrewCo/cli/releases/latest/download/logbrew-cli-installer.ps1 | iex"
```

Homebrew:

```bash theme={null}
brew install LogBrewCo/tap/logbrew
```

npm:

```bash theme={null}
npm install -g logbrew-cli@latest
```

Cargo:

```bash theme={null}
cargo install logbrew-cli
```

Trên Windows, bạn cũng có thể cài đặt tệp MSI từ
[bản phát hành mới nhất](https://github.com/LogBrewCo/cli/releases/latest).

<Note>
  Cargo cần Rust 1.87 trở lên. Các cách còn lại cài đặt binary native và không
  cần Rust.
</Note>

## Cập nhật CLI

CLI không tự cập nhật. Dùng đúng cách bạn đã dùng để cài đặt.

Homebrew:

```bash theme={null}
brew update && brew upgrade LogBrewCo/tap/logbrew
```

npm:

```bash theme={null}
npm install -g logbrew-cli@latest
```

Cargo:

```bash theme={null}
cargo install --locked logbrew-cli
```

Với trình cài đặt shell hoặc PowerShell, chạy lại trình cài đặt.

Sau đó đọc phiên bản. So sánh với
[bản phát hành mới nhất](https://github.com/LogBrewCo/cli/releases/latest):

```bash theme={null}
logbrew version --json
```

JSON trả về `ok`, `name`, `version`, `binary`, `os` và `arch`.

## Đăng nhập và xác minh phiên đăng nhập

Đọc tài khoản của terminal hiện tại:

```bash theme={null}
logbrew status --json
logbrew whoami --json
```

Nếu `whoami` hiển thị đúng tài khoản mong đợi, tiếp tục. Nếu không, đăng nhập.
Một người phải hoàn tất bước đăng nhập với nhà cung cấp trong trình duyệt.
Agent lập trình phải nhờ một người làm bước này.

```bash theme={null}
logbrew login --provider github
```

Nhà cung cấp là `github` (mặc định), `gitlab` hoặc `bitbucket`. Dùng `--no-open`
để in URL đăng nhập mà không mở trình duyệt. `--json` cũng in thông tin bàn
giao đăng nhập mà không mở trình duyệt.

Sau khi đăng nhập, chạy lại `status` và `whoami`. Không đưa thông tin xác thực
tài khoản vào prompt, báo cáo hay tệp mã nguồn.

## Lên kế hoạch thiết lập SDK

Đi đến thư mục chứa manifest gói hoặc manifest bản dựng của ứng dụng. Trong
monorepo, chọn một ứng dụng hoặc dịch vụ. Sau đó chạy:

```bash theme={null}
logbrew setup --json
```

Đọc `detected`, `install_ready`, `install_plan` và `next`. Kế hoạch cho biết
runtime, framework, trình quản lý gói và lệnh cài đặt. CLI không cài gói và
không sửa tệp. `logbrew init`, `install`, `configure` và `sdk` cho ra cùng một
kế hoạch.

<Warning>
  Đặt khóa gửi dữ liệu của dự án vào cấu hình SDK. Không bao giờ dùng thông tin
  xác thực tài khoản làm khóa SDK. Không đưa khóa gửi dữ liệu vào hệ thống quản
  lý mã nguồn.
</Warning>

Xem [Tích hợp SDK](/vi/guides/sdk-ingestion) để biết các bước theo từng
runtime. Chạy `logbrew examples` để xem danh sách ngắn các lệnh thường dùng.

## Đọc, tạo và cấu hình dự án

Liệt kê các dự án đang hoạt động trong tài khoản của bạn:

```bash theme={null}
logbrew projects --json
```

Chọn một ID dự án từ kết quả. Dùng ID đó cho khóa và cho các lần đọc.

Để tạo khóa gửi dữ liệu cho một dự án có sẵn, chọn một tệp mới nằm ngoài hệ
thống quản lý mã nguồn. CLI ghi khóa vào tệp đó và chỉ chủ sở hữu mới đọc được
tệp. CLI không in khóa hay đường dẫn tệp.

```bash theme={null}
logbrew projects keys create "<project_id>" --ingest-key-file "<private_key_file>" --json
```

| Flag | Giá trị |
| - | - |
| `--kind` | `sdk` (mặc định), `browser`, `server`, `cli` hoặc `artifact`. Khóa `artifact` tải lên source map và tệp gỡ lỗi của mã native. Khóa này không gửi được telemetry. |
| `--label` | Tên của khóa, tối đa 120 ký tự. Mặc định là `CLI-created SDK key`. |

Kết quả JSON có `status`, `project_id`, `ingest_key`, `checks` và `next`.
`ingest_key` gồm `id`, `label`, `kind`, `created_at` và `expires_at` của khóa.
Để thay khóa, xem [Xoay vòng khóa gửi dữ liệu](/vi/guides/rotate-ingest-key).

Lệnh này tạo thông tin xác thực. Trước khi chạy, kiểm tra rằng bạn đã chọn đúng
dự án. Nếu không chắc về kết quả, chạy lại đúng lệnh đó. Khi đó CLI dùng lại
lần thử đang chờ. Chỉ dùng `--abandon-retry` để bắt đầu một lần thử mới.

Để tạo dự án mới, làm theo trang [Bắt đầu nhanh](/vi/quickstart). Trang này
dùng
`logbrew projects create "<name>" --ingest-key-file "<private_key_file>"`,
lệnh lưu khóa đầu tiên theo cùng cách. Chạy `logbrew setup --create-project`
để đọc trợ giúp về cách tạo dự án. Lệnh đó không tạo dự án.

Sau một bước thiết lập, bạn có thể ghi nhận bước đó cho dự án. Giá trị
`--source` là `api`, `cli` hoặc `sdk`:

```bash theme={null}
logbrew projects setup "<project_id>" --source cli --environment production --json
```

Sau đó đọc mức sẵn sàng của dự án:

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

Mã thoát `0` không có nghĩa là mọi mục kiểm tra đều đạt. Đọc `status` của báo
cáo và từng mục kiểm tra. Xem
[Đọc báo cáo doctor của dự án](/vi/reference/cli#read-a-project-doctor-report).

## Đọc mức sử dụng tài khoản

Đọc mức sử dụng và giới hạn. Lệnh này không thay đổi trạng thái tài khoản hay
thanh toán.

```bash theme={null}
logbrew usage --json
```

`logbrew account usage --json` cho cùng kết quả. Phản hồi gồm gói dịch vụ,
trạng thái hạn mức, ngày đặt lại, tổng mức sử dụng theo dự án và theo loại
telemetry, cùng bước tiếp theo. Các trường gồm `plan`, `state`, `reset_at`,
`by_project`, `by_stream` và `next`.

## Các tình huống điều tra thường gặp

Lọc mỗi lần đọc theo dự án. Thêm bộ lọc bản phát hành, môi trường, thời gian
hoặc mức độ nghiêm trọng khi lệnh hỗ trợ. Xem [Bộ lọc](/vi/reference/cli#filters).

<CardGroup cols={2}>
  <Card title="Vấn đề trong một bản phát hành" icon="tag">
    ```bash theme={null}
    logbrew read issues --project "<project_id>" --release api@1.2.3 --status unresolved --json
    ```
  </Card>

  <Card title="Một yêu cầu thất bại" icon="route">
    ```bash theme={null}
    logbrew read trace "<trace_id>" --project "<project_id>" --json
    ```
  </Card>

  <Card title="Log của một bản phát hành" icon="file-text">
    ```bash theme={null}
    logbrew read logs --project "<project_id>" --release api@1.2.3 --since 24h --json
    ```
  </Card>

  <Card title="Vấn đề được giao cho bạn" icon="user">
    ```bash theme={null}
    logbrew read issues --project "<project_id>" --assignee me --status unresolved --json
    ```
  </Card>
</CardGroup>

## Theo dõi sự kiện trực tiếp

Dùng lệnh watch để xem sự kiện mới trong lúc bạn thử một thay đổi. Nhấn Ctrl+C để
dừng.

```bash theme={null}
logbrew watch --severity error,critical --json
```

Lệnh watch chỉ truyền JSON. Không có `--json`, lệnh dừng và báo lỗi. Thêm `logs`,
`issues` hoặc `actions` để theo dõi một loại, chẳng hạn
`logbrew watch logs --json`. Lệnh watch không hỗ trợ trace hay span.

Lệnh watch không có bộ lọc dự án, bản phát hành hay môi trường. Để xem một dự án,
dùng các lệnh đọc ở trên. Xem [Theo dõi trực tiếp](/vi/reference/cli#live-watch)
để biết các tài nguyên và bộ lọc được hỗ trợ.

## Giải thích trước khi sửa mã

Đọc ngữ cảnh trước khi đề xuất bản sửa.

<Steps>
  <Step title="Đọc vấn đề">
    ```bash theme={null}
    logbrew read issue "<issue_id>" --json
    ```
  </Step>

  <Step title="Đọc trace">
    Chỉ làm bước này nếu vấn đề có trace ID. Vấn đề không có trace vẫn hợp
    lệ.

    ```bash theme={null}
    logbrew read trace "<trace_id>" --project "<project_id>" --json
    ```
  </Step>

  <Step title="Đọc phần giải thích">
    ```bash theme={null}
    logbrew explain issue "<issue_id>" --json
    ```

    Với log, dùng `logbrew explain log "<log_id>" --json`. Với hành động, dùng
    `logbrew explain action "<action_id>" --json`.
  </Step>

  <Step title="Giải quyết sau khi xác minh">
    ```bash theme={null}
    logbrew set issue "<issue_id>" resolved --json
    ```

    Để thay đổi trạng thái, mức ưu tiên hoặc người phụ trách của nhiều vấn đề,
    xem
    [Thay đổi trạng thái và mức ưu tiên của vấn đề](/vi/reference/cli#change-issue-status-and-priority)
    và hướng dẫn [Quản lý vấn đề](/vi/guides/issue-workflow).
  </Step>
</Steps>

## Đầu ra JSON

* Đặt `--json` trước hoặc sau lệnh, chẳng hạn `logbrew --json status` hoặc
  `logbrew status --json`.
* Đọc mã thoát trước khi dùng đầu ra.
* Lỗi JSON có `ok`, `error`, `message` và `next`. Hết thời gian chờ không
  chứng minh thao tác ghi đã thất bại. Trước khi lặp lại một thao tác ghi, đọc
  quy tắc thử lại của thao tác đó.
* Không tự động hóa dựa trên đầu ra không có `--json`. Đầu ra đó có thể thay
  đổi.

Xem [Đọc kết quả và lỗi](/vi/reference/cli#read-results-and-errors) để biết mã
thoát và ví dụ lỗi.


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