# Ghi bản ghi

## debug\_backtraceAt <a href="#debug_backtraceat" id="debug_backtraceat"></a>

Thiết lập vị trí truy nguyên bản ghi. Khi một vị trí truy nguyên được thiết lập và một thông báo bản ghi được phát ra tại vị trí đó, ngăn xếp của goroutine đang thực thi câu lệnh bản ghi sẽ được in ra `stderr`.

|    Máy khách    | Gọi phương pháp                                       |
| :-------------: | ----------------------------------------------------- |
| Bảng điều khiển | `debug.backtraceAt(location)`                         |
|       RPC       | `{"method": "debug_backtraceAt", "params": [string]}` |

**Tham số**

| Tên    | Loại | Mô tả                                                            |
| ------ | ----- | ---------------------------------------------------------------- |
| vị trí | chuỗi | Vị trí truy nguyên bản ghi được chỉ định là `<filename>:<line>`. |

**Giá trị trả về**

Không có

**Ví dụ**

```javascript
> debug.backtraceAt("server.go:443")
null
```

HTTP RPC

```shell
$ curl -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"debug_backtraceAt","params":["server.go:443"],"id":1}' https://public-en-baobab.klaytn.net
{"jsonrpc":"2.0","id":1,"result":null}
```

## debug\_setVMLogTarget <a href="#debug_setvmlogtarget" id="debug_setvmlogtarget"></a>

Thiết lập mục tiêu đầu ra của hợp đồng đã lập trước vmlog. Khi mục tiêu đầu ra là một tệp thì bản ghi từ lệnh gọi `vmlog` trong hợp đồng thông minh sẽ được ghi vào `DATADIR/log/vm.log`. `DATADIR` ở đây là thư mục được chỉ định bởi `--datadir` khi khởi chạy `klay`. Mặt khác, mục tiêu đầu ra là `stdout`, bản ghi sẽ được hiển thị như một thông báo gỡ lỗi trên đầu ra tiêu chuẩn.

|    Máy khách    | Gọi phương pháp                                          |
| :-------------: | -------------------------------------------------------- |
| Bảng điều khiển | `debug.setVMLogTarget(target)`                           |
|       RPC       | `{"method": "debug_setVMLogTarget", "params": [number]}` |

**Tham số**

| Tên      | Loại | Mô tả                                                                            |
| -------- | ----- | -------------------------------------------------------------------------------- |
| mục tiêu | int   | Mục tiêu đầu ra (0: không có đầu ra, 1: tệp, 2: stdout, 3: cả hai) (mặc định: 0) |

**Giá trị trả về**

| type  | Mô tả                                                                       |
| ----- | --------------------------------------------------------------------------- |
| chuỗi | Mục tiêu đầu ra. Xem các ví dụ bên dưới để biết các giá trị trả về thực tế. |

**Ví dụ**

Bảng điều khiển

```javascript
> debug.setVMLogTarget(0)
"no output"

> debug.setVMLogTarget(1)
"file"

> debug.setVMLogTarget(2)
"stdout"

> debug.setVMLogTarget(3)
"both file and stdout"

> debug.setVMLogTarget(4)
Error: target should be between 0 and 3
    at web3.js:3239:20
    at web3.js:6447:15
    at web3.js:5181:36
    at <anonymous>:1:1
```

HTTP RPC

```shell
$ curl -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"debug_setVMLogTarget","params":[3],"id":1}' https://public-en-baobab.klaytn.net
{"jsonrpc":"2.0","id":1,"result":"both file and stdout"}
```

## debug\_verbosity <a href="#debug_verbosity" id="debug_verbosity"></a>

Thiết lập giới hạn mức độ chi tiết ghi bản ghi. Ghi bản ghi thông báo với cấp độ lên đến và bao gồm mức đã cho sẽ được in ra.

(Cấp độ: 0=crit, 1=lỗi, 2=cảnh báo, 3=thông tin, 4=gỡ lỗi, 5=truy vết)

Có thể tăng mức độ chi tiết của các gói và tệp nguồn riêng lẻ bằng cách sử dụng `debug_vmodule`.

|    Máy khách    | Gọi phương pháp                                   |
| :-------------: | ------------------------------------------------- |
| Bảng điều khiển | `debug.verbosity(level)`                          |
|       RPC       | `{"method": "debug_vmodule", "params": [number]}` |

**Tham số**

| Tên    | type | Mô tả                        |
| ------ | ---- | ---------------------------- |
| cấp độ | int  | Cấp độ chi tiết ghi bản ghi. |

**Giá trị trả về**

Không có

**Ví dụ**

Bảng điều khiển

```javascript
> debug.verbosity(3)
null
```

HTTP RPC

```shell
$ curl -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"debug_verbosity","params":['3'],"id":1}' https://public-en-baobab.klaytn.net
{"jsonrpc":"2.0","id":1,"result":null}
```

## debug\_verbosityByName <a href="#debug_verbositybyname" id="debug_verbositybyname"></a>

Thiết lập mức độ chi tiết của mô-đun bản ghi với tên đã cho. Xin lưu ý rằng VerbosityByName chỉ hoạt động với zapLogger.

(Cấp độ: 0=crit, 1=lỗi, 2=cảnh báo, 3=thông tin, 4=gỡ lỗi, 5=truy vết)

Có thể tăng mức độ chi tiết của các gói và tệp nguồn riêng lẻ bằng cách sử dụng `debug_vmodule`.

|    Máy khách    | Gọi phương pháp                                                   |
| :-------------: | ----------------------------------------------------------------- |
| Bảng điều khiển | `debug.verbosityByName(name, level)`                              |
|       RPC       | `{"method": "debug_verbosityByName", "params": [string, number]}` |

**Tham số**

| Tên    | type  | Mô tả                        |
| ------ | ----- | ---------------------------- |
| tên    | chuỗi | Tên mô-đun.                  |
| cấp độ | int   | Cấp độ chi tiết ghi bản ghi. |

**Giá trị trả về**

Không có

**Ví dụ**

Bảng điều khiển

```javascript
> debug.verbosityByName("name", 3)
null
```

HTTP RPC

```shell
$ curl -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"debug_verbosityByName","params":["name", '3'],"id":1}' https://public-en-baobab.klaytn.net
{"jsonrpc":"2.0","id":1,"result":null}
```

## debug\_verbosityByID <a href="#debug_verbositybyid" id="debug_verbositybyid"></a>

Thiết lập mức độ chi tiết của mô-đun bản ghi với ModuleID đã cho. Xin lưu ý rằng VerbosityByID chỉ hoạt động với zapLogger.

(ModuleID : Vui lòng tham khảo mã trên [github](https://github.com/klaytn/klaytn/blob/dev/log/log_modules.go). )

(Cấp độ: 0=crit, 1=lỗi, 2=cảnh báo, 3=thông tin, 4=gỡ lỗi, 5=truy vết)

Có thể tăng mức độ chi tiết của các gói và tệp nguồn riêng lẻ bằng cách sử dụng `debug_vmodule`.

|    Máy khách    | Gọi phương pháp                                                 |
| :-------------: | --------------------------------------------------------------- |
| Bảng điều khiển | `debug.verbosityByID(id, level)`                                |
|       RPC       | `{"method": "debug_verbosityByID", "params": [number, number]}` |

**Tham số**

| Tên    | type | Mô tả                        |
| ------ | ---- | ---------------------------- |
| id     | int  | Id mô-đun.                   |
| cấp độ | int  | Cấp độ chi tiết ghi bản ghi. |

**Giá trị trả về**

Không có

**Ví dụ**

Bảng điều khiển

```javascript
> debug.verbosityById(1, 3)
null
```

HTTP RPC

```shell
$ curl -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"debug_verbosityById","params":['1',3'],"id":1}' https://public-en-baobab.klaytn.net
{"jsonrpc":"2.0","id":1,"result":null}
```

## debug\_vmodule <a href="#debug_vmodule" id="debug_vmodule"></a>

Thiết lập mẫu mức độ chi tiết ghi bản ghi.

|    Máy khách    | Gọi phương pháp                                   |
| :-------------: | ------------------------------------------------- |
| Bảng điều khiển | `debug.vmodule(module)`                           |
|       RPC       | `{"method": "debug_vmodule", "params": [string]}` |

**Tham số**

| Tên    | type  | Mô tả                      |
| ------ | ----- | -------------------------- |
| mô-đun | chuỗi | Tên mô-đun để ghi bản ghi. |

**Giá trị trả về**

Không có

**Ví dụ**

Bảng điều khiển

Nếu bạn muốn xem thông báo từ một gói Go cụ thể (thư mục) và tất cả các thư mục con, sử dụng

```javascript
> debug.vmodule("p2p/*=5")
```

Nếu bạn muốn giới hạn thông báo trong một gói cụ thể (*ví dụ:*, p2p) nhưng loại trừ các thư mục con, sử dụng

```javascript
> debug.vmodule("p2p=4")
```

Nếu bạn muốn xem thông báo bản ghi từ một tệp nguồn cụ thể, hãy sử dụng

```javascript
> debug.vmodule("server.go=3")
```

HTTP RPC

```shell
$ curl -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"debug_vmodule","params":["p2p=4"],"id":1}' https://public-en-baobab.klaytn.net
{"jsonrpc":"2.0","id":1,"result":null}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://archive-vn.docs.klaytn.foundation/content/dapp/json-rpc/api-references/debug/logging.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
