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
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_NAME
和 SERVICE_VERSION
。我们使用 Cargo 的 CARGO_PKG_NAME
和 CARGO_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"] }
许可证
许可在以下任一项下
- Apache许可证,版本2.0(LICENSE-APACHE 或 http://apache.org/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
依赖项
~4–6MB
~99K SLoC