parquet_set_verbosity Subroutine

public subroutine parquet_set_verbosity(level)

Sets how much the library prints. One of "normal" (everything, the factory default), "silent" (the library's own remarks and its explicitly-called print procedures go quiet; warnings and errors still appear) or "errors_only" (warnings go quiet too). Case-insensitive; anything else aborts.

Read per message, so it takes effect immediately.

Errors are never suppressed, at any level. An error stop, the C++ side's fatal-error report, and the context lines a failing close prints before aborting all appear whatever this is set to -- a program's control flow depends on that output being findable.

"silent" turns the explicitly-called print procedures into no-ops -- %print_stat, %print_schema_info and parquet_string_column's printers included. That is deliberate (it is what a global output control means) and it is a debugging trap worth knowing about: add a print, see nothing, and the table is not at fault. parquet_print_settings is the one exemption, so a silenced program can always be asked why it is silent.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: level

"normal" | "silent" | "errors_only".


Source Code

    subroutine parquet_set_verbosity(level)
        character(len=*), intent(in) :: level !! "normal" | "silent" | "errors_only".
        character(len=:), allocatable :: tok, expected

        call fold_ascii_lower(trim(level), tok)
        select case (tok)
        case ("normal")
            cfg_verbosity = verb_normal
        case ("silent")
            cfg_verbosity = verb_silent
        case ("errors_only")
            cfg_verbosity = verb_errors_only
        case default
            call token_list(verbosity_tokens, expected)
            error stop "parquet_set_verbosity: unknown level '" // tok // &
                "' (expected one of: " // expected // ")"
        end select
    end subroutine parquet_set_verbosity