#log #logging #google #stackdriver #cloud

stackdriver_logger_kv

一个适用于Google Stackdriver的日志记录器,带有本地开发友好的回退

4个版本

0.7.3 2020年7月29日
0.7.2 2020年7月29日
0.7.1 2020年7月28日
0.7.0 2020年7月28日

调试 中排名 #572

MIT/Apache

19KB
301

Stackdriver日志记录器

Google Stackdriver的日志记录器。
默认情况下,在调试模式下,我们将回退到 pretty_env_logger
在发布模式下,我们输出与Stackdriver兼容的JSON格式日志。

用法

use stackdriver_logger;
use log::{error, info, trace, debug, warn};

fn main() {
    stackdriver_logger::init_with_cargo!();

    trace!("trace log");
    debug!("debug log");
    info!("info log");
    warn!("warn log");
    error!("error log");
}

请注意,宏 init_with_cargo! 将将你的 Cargo.toml 包含到生成的二进制文件中。如果你不希望这样,请查阅文档,还有更多初始化器可用。

行为

当你使用上述宏时,你不需要做任何事情。对于其他初始化器,你可能需要提供两个环境变量: SERVICE_NAMESERVICE_VERSION。我们使用 Cargo 的 CARGO_PKG_NAMECARGO_PKG_VERSION 作为回退,但这些只有在通过 Cargo 运行应用程序时才可用。
查阅文档以查看哪些初始化器需要环境变量。

启用日志记录

此库接受一个 RUST_LOG 环境变量,它的工作方式与 env_logger 完全相同。
默认情况下,除了 error! 之外,所有内容都被禁用。要为你的应用程序启用所有日志

RUST_LOG=your_application cargo run

有关更多详细信息,请参阅 env_logger 文档

功能标志

默认情况下,此代码包启用所有 env_logger 默认功能,并且始终拉取 pretty_env_logger
这些代码包有一些重型依赖,如 regex
如果你想在生产中构建更小的构建,并且不使用花哨的 env_logger 功能,你可以禁用 stackdriver_logger 的默认功能,如下所示

stackdriver_logger = { version = "*", default-features = false, features = ["prod"] }

许可证

许可在以下任一项下

依赖项

~4–6MB
~99K SLoC