#log #log-messages #logging #ohos #logger #bindings #api-bindings

ohos_hilog

适用于log的日志实现,可连接到ohos hilog输出

3个版本

使用旧的Rust 2015

0.1.2 2024年1月30日
0.1.1 2024年1月29日
0.1.0 2024年1月29日

#5 in #ohos

每月24次下载

MIT/Apache

27KB
482 代码行

将Rust日志发送到Logcat

Version

此库是env_logger的即插即用替代品。相反,它将消息输出到ohos的logcat。

此功能仅在Open Harmony上有效,需要链接到hilog.z,它仅在open harmony下可用。使用Cargo,可以条件性地要求此库

[target.'cfg(all(target_os = "linux", target_env = "ohos"))'.dependencies]
ohos_hilog = "0.1"

在活动创建时初始化的示例,带有日志配置

#[macro_use] extern crate log;
extern crate ohos_hilog;

use log::LevelFilter;
use ohos_hilog::{Config,FilterBuilder};

fn native_activity_create() {
    ohos_hilog::init_once(
        Config::default()
            .with_max_level(LevelFilter::Trace) // limit log level
            .with_tag("mytag") // logs will show under mytag tag
            .with_filter( // configure messages for specific crate
                FilterBuilder::new()
                    .parse("debug,hello::crate=error")
                    .build())
    );

    trace!("this is a verbose {}", "message");
    error!("this is printed by default");
}

要允许所有日志,请使用默认配置,最小级别为Trace

#[macro_use] extern crate log;
extern crate ohos_hilog;

use log::LevelFilter;
use ohos_hilog::Config;

fn native_activity_create() {
    ohos_hilog::init_once(
        Config::default().with_max_level(LevelFilter::Trace),
    );
}

需要注意的是,此库只能初始化一次(因此init_once函数名称)。因此,此库将只为后续的init_once调用记录警告。

此库通过有效地将消息分成块,确保记录的消息不会超出open harmony hilog日志消息限制。

许可证

以下两种许可证之一下发行:

任选其一。

贡献

除非你明确声明,否则你提交给工作的任何有意贡献,根据Apache-2.0许可证定义,应如上所述双重许可,无任何额外条款或条件。

依赖关系

~0.2–0.8MB
~14K SLoC