summaryrefslogtreecommitdiffstats
path: root/third_party/rust/neqo-common/src/log.rs
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/neqo-common/src/log.rs')
-rw-r--r--third_party/rust/neqo-common/src/log.rs24
1 files changed, 16 insertions, 8 deletions
diff --git a/third_party/rust/neqo-common/src/log.rs b/third_party/rust/neqo-common/src/log.rs
index d9c30b98b1..c5b89be8a6 100644
--- a/third_party/rust/neqo-common/src/log.rs
+++ b/third_party/rust/neqo-common/src/log.rs
@@ -6,16 +6,19 @@
#![allow(clippy::module_name_repetitions)]
-use std::{io::Write, sync::Once, time::Instant};
+use std::{
+ io::Write,
+ sync::{Once, OnceLock},
+ time::{Duration, Instant},
+};
use env_logger::Builder;
-use lazy_static::lazy_static;
#[macro_export]
macro_rules! do_log {
(target: $target:expr, $lvl:expr, $($arg:tt)+) => ({
let lvl = $lvl;
- if lvl <= ::log::max_level() {
+ if lvl <= ::log::STATIC_MAX_LEVEL && lvl <= ::log::max_level() {
::log::logger().log(
&::log::Record::builder()
.args(format_args!($($arg)+))
@@ -42,17 +45,22 @@ macro_rules! log_subject {
}};
}
-static INIT_ONCE: Once = Once::new();
-
-lazy_static! {
- static ref START_TIME: Instant = Instant::now();
+fn since_start() -> Duration {
+ static START_TIME: OnceLock<Instant> = OnceLock::new();
+ START_TIME.get_or_init(Instant::now).elapsed()
}
pub fn init() {
+ static INIT_ONCE: Once = Once::new();
+
+ if ::log::STATIC_MAX_LEVEL == ::log::LevelFilter::Off {
+ return;
+ }
+
INIT_ONCE.call_once(|| {
let mut builder = Builder::from_env("RUST_LOG");
builder.format(|buf, record| {
- let elapsed = START_TIME.elapsed();
+ let elapsed = since_start();
writeln!(
buf,
"{}s{:3}ms {} {}",