@@ -296,23 +296,30 @@ fn setup_logging(args: &Args, use_colors: bool) -> miette::Result<()> {
296296 LevelFilter :: TRACE => ( LevelFilter :: TRACE , LevelFilter :: TRACE , LevelFilter :: TRACE ) ,
297297 } ;
298298
299- let env_filter = EnvFilter :: builder ( )
299+ // Start building the filter with RUST_LOG support
300+ let mut env_filter = EnvFilter :: builder ( )
300301 . with_default_directive ( level_filter. into ( ) )
301302 . from_env ( )
302- . into_diagnostic ( ) ?
303+ . into_diagnostic ( ) ?;
304+
305+ // Only add CLI-based directives if RUST_LOG is not set
306+ // This allows RUST_LOG to fully override CLI verbosity settings
307+ if env:: var ( "RUST_LOG" ) . is_err ( ) {
303308 // filter logs from apple codesign because they are very noisy
304- . add_directive ( "apple_codesign=off" . parse ( ) . into_diagnostic ( ) ?)
305- . add_directive ( format ! ( "pixi={}" , pixi_level) . parse ( ) . into_diagnostic ( ) ?)
306- . add_directive (
307- format ! ( "pixi_command_dispatcher={}" , pixi_level)
308- . parse ( )
309- . into_diagnostic ( ) ?,
310- )
311- . add_directive (
312- format ! ( "resolvo={}" , low_level_filter)
313- . parse ( )
314- . into_diagnostic ( ) ?,
315- ) ;
309+ env_filter = env_filter
310+ . add_directive ( "apple_codesign=off" . parse ( ) . into_diagnostic ( ) ?)
311+ . add_directive ( format ! ( "pixi={}" , pixi_level) . parse ( ) . into_diagnostic ( ) ?)
312+ . add_directive (
313+ format ! ( "pixi_command_dispatcher={}" , pixi_level)
314+ . parse ( )
315+ . into_diagnostic ( ) ?,
316+ )
317+ . add_directive (
318+ format ! ( "resolvo={}" , low_level_filter)
319+ . parse ( )
320+ . into_diagnostic ( ) ?,
321+ ) ;
322+ }
316323
317324 // Set up the tracing subscriber
318325 let fmt_layer = tracing_subscriber:: fmt:: layer ( )
0 commit comments