Crates.io | stackdriver_logger |
lib.rs | stackdriver_logger |
version | 0.8.2 |
source | src |
created_at | 2018-05-31 21:55:38.84586 |
updated_at | 2022-12-20 15:03:16.511984 |
description | A logger for Google's Stackdriver with a cli-friendly fallback for local development |
homepage | |
repository | https://github.com/kamek-pf/stackdriver-logger/ |
max_upload_size | |
id | 68001 |
size | 19,244 |
A logger for Google's Stackdriver.
By default, in debug mode, we fall back to pretty_env_logger
.
In release mode, we output JSON formatted logs compatible with Stackdriver.
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");
}
Note that the init_with_cargo!
macro will include your Cargo.toml
in the resulting binary.
If you don't want that, check out the docs, a few more initializers are available.
When using the above macro, you don't have anything else to do.
For other initializers, you may need to provide two environment variables : SERVICE_NAME
and SERVICE_VERSION
.
We're using Cargo's CARGO_PKG_NAME
and CARGO_PKG_VERSION
as a fallback, but these are only available
if you run your application via Cargo.
Check out the docs to see which initializers require environment variables.
This library accepts a RUST_LOG
env variable, it works exactly like in env_logger
.
By default, everything is disabled except for error!
.
To enable all logs for your application :
RUST_LOG=your_application cargo run
For more details, take a look at the env_logger
docs.
By default, this crate enables all env_logger
defaults features and always pulls pretty_env_logger
.
These crates have some heavy dependencies like regex
.
If you want smaller builds in production, and don't use fancy env_logger
features, you can disable default features for stackdriver_logger
like so :
stackdriver_logger = { version = "*", default-features = false, features = ["prod"] }
Licensed under either of