16个版本 (8个破坏性)
0.8.2 | 2022年12月20日 |
---|---|
0.8.1 | 2022年11月14日 |
0.8.0 | 2020年7月29日 |
0.7.0 | 2020年2月12日 |
0.1.4 | 2018年7月31日 |
#306 in 调试
每月2,623次下载
19KB
302 行
Stackdriver logger
Google Stackdriver的日志记录器。
默认情况下,在调试模式下,我们将回退到 pretty_env_logger
。
在发布模式下,我们输出与Stackdriver兼容的JSON格式日志。
使用方法
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
文档。
功能标志
默认情况下,此crate启用所有 env_logger
默认功能,并始终拉取 pretty_env_logger
。
这些crate有一些重依赖,如 regex
。
如果您想在生产中使用更小的构建,并且不使用复杂的 env_logger
功能,您可以通过以下方式禁用 stackdriver_logger
的默认功能:
stackdriver_logger = { version = "*", default-features = false, features = ["prod"] }
许可证
在以下许可证下获得许可:
- Apache License,版本 2.0(《LICENSE-APACHE》或https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证(《LICENSE-MIT》或http://opensource.org/licenses/MIT)
依赖项
~4–13MB
~145K SLoC