2 个不稳定版本

0.2.0 2024年3月31日
0.1.2 2024年3月31日
0.1.1 2024年3月31日
0.1.0 2024年3月31日

#357 in 调试

每月38次下载

MIT/Apache

44KB
943

tracing-aliyun-sls

Crates.io Documentation MIT licensed

启用与阿里云SLS的跟踪集成,也支持log crate。

功能标志

  • lz4: 启用日志的lz4压缩。
  • deflate: 启用日志的deflate压缩。
  • log-comp: 启用Loggerlog crate。
  • derive-key: 启用使用BLAKE3从任何字符串派生分片密钥(128位十六进制)的能力。
  • rustls: 默认启用reqwest/default-tls,如果您想使用rustls作为TLS后端,则启用此功能并禁用默认功能。

注意:lz4deflate不能同时启用。

示例

tracing一起使用

use tracing_aliyun_sls::SlsLayer;
use tracing_subscriber::layer::SubscriberExt;
use tracing_subscriber::util::SubscriberInitExt;

#[tokio::main]
async fn main() {
   let (layer, _guard) = SlsLayer::builder()
        .access_key("access_key")
        .access_secret("access_secret")
        .endpoint("cn-hangzhou.log.aliyuncs.com")
        .project("project")
        .logstore("logstore")
        .shard_key("shard_key") // Optional if you want to use `KeyHash` mode
        .max_level(tracing::Level::INFO) // Optional, default is `tracing::Level::TRACE`
        .drain_timeout(std::time::Duration::from_secs(10)) // Optional, default is 5 seconds
        .build_layer();
    
    tracing_subscriber::registry()
        .with(layer)
        .init();
}

如果您想与log一起使用,请启用log-comp功能

use tracing_aliyun_sls::SlsLayer;
use tracing_subscriber::layer::SubscriberExt;
use tracing_subscriber::util::SubscriberInitExt;

#[tokio::main(flavor = "current_thread")]
async fn main() {
   SlsLayer::builder()
        .access_key("access_key")
        .access_secret("access_secret")
        .endpoint("cn-hangzhou.log.aliyuncs.com")
        .project("project")
        .logstore("logstore")
        .shard_key("shard_key") // Optional if you want to use `KeyHash` mode
        .max_level(tracing::Level::INFO) // Optional, default is `tracing::Level::TRACE`
        .drain_timeout(std::time::Duration::from_secs(10)) // Optional, default is 5 seconds
        .build_logger()
        .init();
}

依赖项

~8–21MB
~324K SLoC