@@ -81,27 +81,14 @@ function LinearVerbosity(;
8181 LinearVerbosity (values (final_args)... )
8282end
8383
84+ # Constructor for verbosity presets following the hierarchical levels:
85+ # None < Minimal < Standard < Detailed < All
86+ # Each level includes all messages from levels below it plus additional ones
8487function LinearVerbosity (verbose:: AbstractVerbosityPreset )
85- if verbose isa All
88+ if verbose isa Minimal
89+ # Minimal: Only fatal errors and critical warnings (BLAS errors/invalid args)
8690 LinearVerbosity (
87- default_lu_fallback = InfoLevel (),
88- no_right_preconditioning = InfoLevel (),
89- using_iterative_solvers = InfoLevel (),
90- using_IterativeSolvers = InfoLevel (),
91- IterativeSolvers_iterations = InfoLevel (),
92- KrylovKit_verbosity = InfoLevel (),
93- KrylovJL_verbosity = InfoLevel (),
94- HYPRE_verbosity = InfoLevel (),
95- pardiso_verbosity = InfoLevel (),
96- blas_errors = InfoLevel (),
97- blas_invalid_args = InfoLevel (),
98- blas_info = InfoLevel (),
99- blas_success = InfoLevel (),
100- condition_number = InfoLevel ()
101- )
102- elseif verbose isa Minimal
103- LinearVerbosity (
104- default_lu_fallback = ErrorLevel (),
91+ default_lu_fallback = Silent (),
10592 no_right_preconditioning = Silent (),
10693 using_iterative_solvers = Silent (),
10794 using_IterativeSolvers = Silent (),
@@ -110,33 +97,66 @@ function LinearVerbosity(verbose::AbstractVerbosityPreset)
11097 KrylovJL_verbosity = Silent (),
11198 HYPRE_verbosity = Silent (),
11299 pardiso_verbosity = Silent (),
113- blas_errors = ErrorLevel (),
114- blas_invalid_args = ErrorLevel (),
100+ blas_errors = ErrorLevel (),
101+ blas_invalid_args = ErrorLevel (),
115102 blas_info = Silent (),
116103 blas_success = Silent (),
117104 condition_number = Silent ()
118105 )
119106 elseif verbose isa Standard
120- LinearVerbosity () # Use default settings
107+ # Standard: Everything from Minimal + non-fatal warnings
108+ LinearVerbosity (
109+ default_lu_fallback = WarnLevel (),
110+ no_right_preconditioning = WarnLevel (),
111+ using_iterative_solvers = WarnLevel (),
112+ using_IterativeSolvers = WarnLevel (),
113+ IterativeSolvers_iterations = WarnLevel (),
114+ KrylovKit_verbosity = WarnLevel (),
115+ KrylovJL_verbosity = Silent (),
116+ HYPRE_verbosity = InfoLevel (),
117+ pardiso_verbosity = Silent (),
118+ blas_errors = ErrorLevel (),
119+ blas_invalid_args = ErrorLevel (),
120+ blas_info = Silent (),
121+ blas_success = Silent (),
122+ condition_number = Silent ()
123+ )
121124 elseif verbose isa Detailed
125+ # Detailed: Everything from Standard + debugging/solver behavior
126+ LinearVerbosity (
127+ default_lu_fallback = InfoLevel (),
128+ no_right_preconditioning = InfoLevel (),
129+ using_iterative_solvers = InfoLevel (),
130+ using_IterativeSolvers = InfoLevel (),
131+ IterativeSolvers_iterations = InfoLevel (),
132+ KrylovKit_verbosity = InfoLevel (),
133+ KrylovJL_verbosity = WarnLevel (),
134+ HYPRE_verbosity = InfoLevel (),
135+ pardiso_verbosity = WarnLevel (),
136+ blas_errors = ErrorLevel (),
137+ blas_invalid_args = ErrorLevel (),
138+ blas_info = InfoLevel (),
139+ blas_success = InfoLevel (),
140+ condition_number = InfoLevel ()
141+ )
142+ elseif verbose isa All
143+ # All: Maximum verbosity - every possible logging message at InfoLevel
122144 LinearVerbosity (
123145 default_lu_fallback = InfoLevel (),
124146 no_right_preconditioning = InfoLevel (),
125147 using_iterative_solvers = InfoLevel (),
126148 using_IterativeSolvers = InfoLevel (),
127149 IterativeSolvers_iterations = InfoLevel (),
128- KrylovKit_verbosity = WarnLevel (),
129- KrylovJL_verbosity = WarnLevel (),
150+ KrylovKit_verbosity = InfoLevel (),
151+ KrylovJL_verbosity = InfoLevel (),
130152 HYPRE_verbosity = InfoLevel (),
131- pardiso_verbosity = WarnLevel (),
132- blas_errors = WarnLevel (),
133- blas_invalid_args = WarnLevel (),
153+ pardiso_verbosity = InfoLevel (),
154+ blas_errors = ErrorLevel (),
155+ blas_invalid_args = ErrorLevel (),
134156 blas_info = InfoLevel (),
135157 blas_success = InfoLevel (),
136158 condition_number = InfoLevel ()
137159 )
138- else
139- LinearVerbosity () # Default fallback
140160 end
141161end
142162
0 commit comments