env_logger

This commit is contained in:
Bryan Stitt 2022-11-12 09:26:05 +00:00
parent b17894c2d6
commit fc7e310f58

View File

@ -9,7 +9,7 @@
#![forbid(unsafe_code)] #![forbid(unsafe_code)]
use futures::StreamExt; use futures::StreamExt;
use log::{debug, info, warn, LevelFilter}; use log::{debug, info, warn};
use parking_lot::deadlock; use parking_lot::deadlock;
use std::fs; use std::fs;
use std::sync::atomic::{self, AtomicUsize}; use std::sync::atomic::{self, AtomicUsize};
@ -153,13 +153,10 @@ fn run(
fn main() -> anyhow::Result<()> { fn main() -> anyhow::Result<()> {
// if RUST_LOG isn't set, configure a default // if RUST_LOG isn't set, configure a default
// TODO: is there a better way to do this? let rust_log = match std::env::var("RUST_LOG") {
if std::env::var("RUST_LOG").is_err() { Ok(x) => x,
std::env::set_var( Err(_) => "info,ethers=debug,redis_rate_limit=debug,web3_proxy=debug".to_string(),
"RUST_LOG", };
"info,ethers=debug,redis_rate_limit=debug,web3_proxy=debug",
);
}
// this probably won't matter for us in docker, but better safe than sorry // this probably won't matter for us in docker, but better safe than sorry
fdlimit::raise_fd_limit(); fdlimit::raise_fd_limit();
@ -174,15 +171,17 @@ fn main() -> anyhow::Result<()> {
// TODO: this doesn't seem to do anything // TODO: this doesn't seem to do anything
proctitle::set_title(format!("web3_proxy-{}", top_config.app.chain_id)); proctitle::set_title(format!("web3_proxy-{}", top_config.app.chain_id));
let mut log_builder = env_logger::builder(); let logger = env_logger::builder().parse_filters(&rust_log).build();
log_builder let max_level = logger.filter();
.filter_level(LevelFilter::Off)
.parse_env("RUST_LOG");
// connect to sentry for error reporting // connect to sentry for error reporting
// if no sentry, only log to stdout // if no sentry, only log to stdout
let _sentry_guard = if let Some(sentry_url) = top_config.app.sentry_url.clone() { let _sentry_guard = if let Some(sentry_url) = top_config.app.sentry_url.clone() {
let logger = sentry::integrations::log::SentryLogger::with_dest(logger);
log::set_boxed_logger(Box::new(logger)).unwrap();
let guard = sentry::init(( let guard = sentry::init((
sentry_url, sentry_url,
sentry::ClientOptions { sentry::ClientOptions {
@ -193,20 +192,15 @@ fn main() -> anyhow::Result<()> {
}, },
)); ));
let logger = sentry::integrations::log::SentryLogger::with_dest(log_builder.build());
log::set_boxed_logger(Box::new(logger)).unwrap();
Some(guard) Some(guard)
} else { } else {
// install global collector configured based on RUST_LOG env var.
let logger = log_builder.build();
log::set_boxed_logger(Box::new(logger)).unwrap(); log::set_boxed_logger(Box::new(logger)).unwrap();
None None
}; };
log::set_max_level(max_level);
// we used to do this earlier, but now we attach sentry // we used to do this earlier, but now we attach sentry
debug!("CLI config @ {:#?}", cli_config.config); debug!("CLI config @ {:#?}", cli_config.config);