#android #logger #log #logging #adb #logcat

android-logd-logger

一个直接写入Android logd守护进程的日志实现,用于log

13个版本

0.4.3 2024年3月8日
0.4.2 2023年7月20日
0.4.1 2023年4月14日
0.3.3 2023年2月15日
0.1.3 2021年3月2日

#124调试

Download history 501/week @ 2024-04-08 625/week @ 2024-04-15 593/week @ 2024-04-22 639/week @ 2024-04-29 458/week @ 2024-05-06 705/week @ 2024-05-13 722/week @ 2024-05-20 757/week @ 2024-05-27 826/week @ 2024-06-03 909/week @ 2024-06-10 1017/week @ 2024-06-17 759/week @ 2024-06-24 851/week @ 2024-07-01 1036/week @ 2024-07-08 992/week @ 2024-07-15 750/week @ 2024-07-22

3,634 每月下载次数
northstar 中使用

MIT/Apache

49KB
856 代码行

android-logd-logger

Crates.io Build Status Docs

此日志记录器将日志写入Android logd,这是一个具有多个环形缓冲区的系统服务,用于日志和事件。这通常通过liblog(一个本机Android库)来完成。而不是使用liblog,此crate直接使用以下简单协议写入logd套接字。此日志记录器是用纯Rust编写的,不需要任何ffi。

在非Android系统上,日志输出以logcat的默认格式打印到stdout。

用法

将其添加到您的Cargo.toml中

[dependencies]
android-logd-logger = "0.4.3"

使用固定的tag和包含在日志负载中的模块路径初始化日志记录器。


fn main() {
    android_logd_logger::builder()
        .parse_filters("debug")
        .tag(TagMode::TargetStrip)
        .prepend_module(true)
        .init();

    trace!("trace message: is not logged");
    debug!("debug message");
    info!("info message");
    warn!("warn message");
    error!("error message");
}

要写入android logd "事件",请使用eventevent_now,例如

android_logd_logger::write_event_now(1, "test").unwrap();

配置

写入logd套接字是线程的单一同步点。《android-logd-logger》可以通过tls功能配置以维护每个线程一个套接字使用整个进程的一个套接字。如果您希望线程之间干扰更少,但为每个线程支付一个连接,请使用tls功能。

许可证

以下任一许可证下发布

依赖关系

~4–12MB
~115K SLoC