本文件說明如何開始在 Rust 程式中登入 紫紅色。如需記錄與查看記錄的一般資訊,請參閱 記錄語言通用的記錄說明文件。
所需的能力
確保您的元件要求適當的記錄功能,方法是 包括:
{
include: [
"syslog/client.shard.cml"
],
...
}
初始化
您必須先初始化記錄功能,才能透過 Rust 程式碼記錄記錄。
初始化作業是由 fuchsia
Crate 設定巨集處理。
GN 依附元件
將下列 deps
新增至您的 BUILD.gn
檔案:
deps = [
"//src/lib/fuchsia",
]
設定
在 Rust 來源檔案中,任何函式都會預設啟用記錄功能
已透過 fuchsia::main
或 fuchsia::test
巨集初始化:
#[fuchsia::main]
fn main() {
// ...
}
#[fuchsia::test]
fn example_test() {
// ...
}
您也可以傳遞 logging
標記,讓此資訊明確呈現:
#[fuchsia::main(logging = true)]
fn main() {
// ...
}
#[fuchsia::test(logging = true)]
fn example_test() {
// ...
}
新增標記
記錄訊息可包含一或多個標記,提供額外的背景資訊。
如要為指定範圍啟用記錄標記,請在以下期間傳遞 logging_tags
參數:
初始化:
#[fuchsia::main(logging_tags = ["foo", "bar"])]
fn main() {
// ...
}
#[fuchsia::test(logging_tags = ["foo", "bar"])]
fn example_test_with_tags() {
// ...
}
記錄記錄檔
Fuchsia 上的 Rust 程式通常會使用 tracing
Crate 巨集記錄
。
GN 依附元件
將 tracing
Crate 新增至 BUILD.gn
檔案的 deps
項目:
deps = [
"//third_party/rust_crates:tracing",
]
記錄事件
呼叫 tracing
Crate 提供的巨集,以記錄宣告的
嚴重性等級:
use tracing;
fn main() {
tracing::trace!("something happened: {}", 5); // maps to TRACE
tracing::debug!("something happened: {}", 4); // maps to DEBUG
tracing::info!("something happened: {}", 3); // maps to INFO
tracing::warn!("something happened: {}", 2); // maps to WARN
tracing::error!("something happened: {}", 1); // maps to ERROR
}
標準串流
println!
、eprintln!
等 Rust 巨集對應至標準 (stdout
)
和標準錯誤 (stderr
)。如要使用這些串流,可能需要進行額外設定
執行程式
詳情請參閱「標準串流」一節。 記錄語言通用的記錄說明文件