Conversion Utilities
SciMLLogging provides utility functions to convert message levels to common formats used by other packages.
Integer Conversion
SciMLLogging.verbosity_to_int — Function
verbosity_to_int(verb::MessageLevel)Convert a MessageLevel to its integer value.
This is useful when integrating with APIs that represent verbosity as an integer or integer-backed enum.
Arguments
verb: Message level to convert.
Returns
The integer severity for verb.
Examples
using SciMLLogging
verbosity_to_int(Silent) # returns 0
verbosity_to_int(InfoLevel) # returns 2
verbosity_to_int(MessageLevel(10)) # returns 10Boolean Conversion
SciMLLogging.verbosity_to_bool — Function
verbosity_to_bool(verb::MessageLevel)Convert a MessageLevel to a boolean verbosity flag.
Silent maps to false; every other message level maps to true.
Arguments
verb: Message level to convert.
Returns
true when verb emits messages, and false when it is Silent.
Examples
using SciMLLogging
verbosity_to_bool(Silent) # returns false
verbosity_to_bool(WarnLevel) # returns true
verbosity_to_bool(MessageLevel(5))Usage Examples
Integrating with Integer-Based Packages
# Package that expects integer verbosity levels
function external_solver(problem; verbosity_level = 0)
if verbosity_level >= 1
println("Starting solver...")
end
# ...
end
# Use with SciMLLogging
verbose_spec = MyPackageVerbosity(Standard())
level = verbosity_to_int(verbose_spec.progress)
result = external_solver(problem, verbosity_level = level)Integrating with Boolean-Based Packages
# Package that expects boolean verbosity
function simple_algorithm(data; verbose = false)
if verbose
println("Processing data...")
end
# ...
end
# Use with SciMLLogging
verbose_spec = MyPackageVerbosity(Standard())
is_verbose = verbosity_to_bool(verbose_spec.progress)
result = simple_algorithm(data, verbose = is_verbose)