Rollup merge of #116586 - SparrowLii:parallel_log, r=oli-obk
use env variable to control thread ids in rustc_log Currently, when parallel rustc is enabled, even if the number of threads is 1, the thread ID will be included before all the logs. E.g. `WARN rustc_mir_build::thir::pattern::const_to_pat ...` => `2:rustcWARN rustc_mir_build::thir::pattern::const_to_pat ...` This makes the logs confusing and results in inconsistent UI test results for serial and parallel rustc. Therefore I think we should let users decide whether thread id information is needed through explicit control.
This commit is contained in:
commit
0bc5696dd9
@ -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")) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user