Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ edition = "2021"
serde = { version = "1.0.144", features = ["derive"] }
# json support
serde_json = "1.0.85"
log = { version = "0.4.17" }
log = { version = "0.4.17", features = ["std"]}
atty = "0.2.14"
walkdir = "2.3.2"
quick-xml = { version = "0.28.0", features = ["serialize"] }
Expand Down
5 changes: 3 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,10 @@ FROM ubuntu:22.04 as ubuntu_llvm
ENV DEBIAN_FRONTEND=noninteractive

# update the system and install any dependencies
RUN apt-get update \
RUN sudo add-apt-repository ppa:deadsnakes/ppa\
&& apt-get update \
&& apt-get upgrade -y libksba-dev \
&& apt-get install -y git cmake build-essential byacc libpcre3 libpcre3-dev grep lsb-release wget software-properties-common gnupg libcurl4-openssl-dev unzip lcov --no-install-recommends # skipcq: DOK-DL3018
&& apt-get install -y git cmake build-essential byacc libpcre3 libpcre3-dev grep lsb-release wget software-properties-common gnupg libcurl4-openssl-dev unzip lcov python3.11 --no-install-recommends # skipcq: DOK-DL3018

# Get LLVM
ARG LLVM_VER=16
Expand Down
22 changes: 17 additions & 5 deletions src/fmtlogger.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
use std::sync::OnceLock;

use log::{Level, LevelFilter, Log, Metadata, Record};

const CLICOLOR_FORCE: &str = "CLICOLOR_FORCE";
Expand Down Expand Up @@ -65,11 +67,21 @@ impl Log for Logger {
}

pub fn default() {
const LOGGER: Logger = Logger {
level: LevelFilter::Trace,
};
log::set_max_level(LOGGER.level);
if let Err(err) = log::set_logger(&LOGGER) {
static LOGGER: OnceLock<Logger> = OnceLock::new();
let logger = LOGGER.get_or_init(|| Logger {
level: std::env::var("RUST_LOG")
.map(|x| match x.as_str() {
"warn" => log::LevelFilter::Warn,
"trace" => log::LevelFilter::Trace,
"error" => log::LevelFilter::Error,
"info" => log::LevelFilter::Info,
"debug" => log::LevelFilter::Debug,
_ => log::LevelFilter::Trace,
})
.unwrap_or(log::LevelFilter::Trace),
});
log::set_max_level(logger.level);
if let Err(err) = log::set_boxed_logger(Box::new(logger)) {
// used const to allow for static lifetime
eprintln!("attaching logger failed! shouldn't be possible: {:?}", err);
}
Expand Down