From 7ac55c46f14cb1036fc04540017cb2ed544f2c5f Mon Sep 17 00:00:00 2001 From: Jiahao XU Date: Sat, 17 Sep 2022 19:22:19 +1000 Subject: [PATCH] Add new feature log_release_max_level_debug and enable it on CI release build (#390) * Add new feature `log_release_max_level_debug` * Fix calculation of `log_level` in `logging` * Enable feature log_release_max_level_debug on CI release build Signed-off-by: Jiahao XU --- .github/scripts/compile-settings.jq | 2 +- crates/bin/Cargo.toml | 1 + crates/bin/src/ui.rs | 5 +++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/scripts/compile-settings.jq b/.github/scripts/compile-settings.jq index 6155b24b..a73b4712 100644 --- a/.github/scripts/compile-settings.jq +++ b/.github/scripts/compile-settings.jq @@ -4,7 +4,7 @@ if $for_release then { # Use build-std to build a std library optimized for size and abort immediately on abort, # so that format string for `unwrap`/`expect`/`unreachable`/`panic` can be optimized out. args: ($matrix.release_build_args // "-Z build-std=std,panic_abort -Z build-std-features=panic_immediate_abort"), - features: ($matrix.release_features // ["zlib-ng", "static", "rustls", "trust-dns", "fancy-no-backtrace"]), + features: ($matrix.release_features // ["zlib-ng", "static", "rustls", "trust-dns", "fancy-no-backtrace", "log_release_max_level_debug"]), } else { output: "debug", profile: "dev", diff --git a/crates/bin/Cargo.toml b/crates/bin/Cargo.toml index 39d67ea9..c58758a3 100644 --- a/crates/bin/Cargo.toml +++ b/crates/bin/Cargo.toml @@ -56,3 +56,4 @@ fancy-no-backtrace = ["miette/fancy-no-backtrace"] fancy-with-backtrace = ["fancy-no-backtrace", "miette/fancy"] log_release_max_level_info = ["log/release_max_level_info"] +log_release_max_level_debug = ["log/release_max_level_debug"] diff --git a/crates/bin/src/ui.rs b/crates/bin/src/ui.rs index e2856446..715cc7b6 100644 --- a/crates/bin/src/ui.rs +++ b/crates/bin/src/ui.rs @@ -1,9 +1,10 @@ use std::{ + cmp::min, io::{self, BufRead, Write}, thread, }; -use log::LevelFilter; +use log::{LevelFilter, STATIC_MAX_LEVEL}; use simplelog::{ColorChoice, ConfigBuilder, TermLogger, TerminalMode}; use tokio::sync::mpsc; @@ -103,7 +104,7 @@ impl UIThread { } pub fn logging(args: &Args) { - let log_level = args.log_level; + let log_level = min(args.log_level, STATIC_MAX_LEVEL); // Setup logging let mut log_config = ConfigBuilder::new();