use env variable to control thread ids in rustc_log

This commit is contained in:
SparrowLii 2023-10-10 09:39:47 +08:00
parent 1516ca1bc0
commit 2dcc828863

View File

@ -74,6 +74,11 @@ pub fn init_env_logger(env: &str) -> Result<(), Error> {
Some(v) => &v != "0",
};
let verbose_thread_ids = match env::var_os(String::from(env) + "_THREAD_IDS") {
None => false,
Some(v) => &v == "1",
};
let layer = tracing_tree::HierarchicalLayer::default()
.with_writer(io::stderr)
.with_indent_lines(true)
@ -81,9 +86,9 @@ pub fn init_env_logger(env: &str) -> Result<(), Error> {
.with_targets(true)
.with_verbose_exit(verbose_entry_exit)
.with_verbose_entry(verbose_entry_exit)
.with_indent_amount(2);
#[cfg(all(parallel_compiler, debug_assertions))]
let layer = layer.with_thread_ids(true).with_thread_names(true);
.with_indent_amount(2)
.with_thread_ids(verbose_thread_ids)
.with_thread_names(verbose_thread_ids);
let subscriber = tracing_subscriber::Registry::default().with(filter).with(layer);
match env::var(format!("{env}_BACKTRACE")) {