Журналювання
Ви повинні використовувати крейт log
для автоматичної реєстрації в logcat
(на пристрої) або stdout
(на хості):
hello_rust_logs/Android.bp:
rust_binary {
name: "hello_rust_logs",
crate_name: "hello_rust_logs",
srcs: ["src/main.rs"],
rustlibs: [
"liblog_rust",
"liblogger",
],
host_supported: true,
}
hello_rust_logs/src/main.rs:
//! Демонстрація журналу Rust.
use log::{debug, error, info};
/// Реєструє привітання.
fn main() {
logger::init(
logger::Config::default()
.with_tag_on_device("rust")
.with_min_level(log::Level::Trace),
);
debug!("Запуск програми.");
info!("Справи йдуть добре.");
error!("Щось пішло не так!");
}
Створіть, завантажте і запустіть бінарний файл на своєму пристрої:
m hello_rust_logs
adb push "$ANDROID_PRODUCT_OUT/system/bin/hello_rust_logs" /data/local/tmp
adb shell /data/local/tmp/hello_rust_logs
Журнали відображаються в adb logcat
:
adb logcat -s rust
09-08 08:38:32.454 2420 2420 D rust: hello_rust_logs: Starting program.
09-08 08:38:32.454 2420 2420 I rust: hello_rust_logs: Things are going fine.
09-08 08:38:32.454 2420 2420 E rust: hello_rust_logs: Something went wrong!
- Реалізація логгера у
liblogger
потрібна лише у фінальній версії, якщо ви логіруєте з бібліотеки, вам знадобиться лише фасадний крейтlog
.