Source code for wield.control.fitting.SISO.v2.arguments.logging

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# SPDX-License-Identifier: Apache-2.0
# SPDX-FileCopyrightText: © 2021 Massachusetts Institute of Technology.
# SPDX-FileCopyrightText: © 2021 Lee McCuller <mcculler@caltech.edu>
# NOTICE: authors should document their contributions in concisely in NOTICE
# with details inline in source files, comments, and docstrings.
"""
"""
from wield.bunch import Bunch

from .base import (
    ArgumentError,
    mapcheck_bool,
    mapcheck_positive_int,
    mapcheck_positive_int_orNone,
)


[docs] def mc_log_level(aid, aname, val): val = int(val) if val < 0 or val > 10: raise ArgumentError( "log_level values must be between 0-10, 0 being least verbose, 10 most." ) return val
[docs] def hint_log_level(**kwargs): kw = dict( mapcheck=mc_log_level, ) kw.update(**kwargs) return kw
kw_hints = Bunch( logging_module_use=dict( APignore=True, mapcheck=mapcheck_bool, about="Use the python logging module instead of print", aliases=["use_logging_module"], ), tee_logfile=dict( APgroup="logging", APpriority=10, default=None, about=""" Filename to tee log output into, along with stdout/stderr. Will be overwritten. """, ), log_level=hint_log_level( APshort="-l", APpriority=20, APgroup="logging", mapcheck=mapcheck_positive_int, default=5, about="Log level default for all logging types", aliases=["verbosity"], ), log_level_alert=hint_log_level( APgroup="logging", APpriority=25, mapcheck=mapcheck_positive_int_orNone, about=""" Data on useful statistical tests, particularly those which cause input data/SNR/emphasis to be reinterpreted. Typically logs at level 2-4. """, aliases=["verbosity_alert"], ), log_level_info=hint_log_level( APgroup="logging", APpriority=25, mapcheck=mapcheck_positive_int_orNone, about=""" Logging on miscellaneous details. """, aliases=["verbosity_info"], ), log_level_debug=hint_log_level( APgroup="logging", APpriority=25, mapcheck=mapcheck_positive_int_orNone, default=0, about=""" Debugging reports used for development. """, aliases=["verbosity_debug"], ), log_level_warn=hint_log_level( APgroup="logging", APpriority=25, mapcheck=mapcheck_positive_int_orNone, default=5, about=""" Warnings about failed tests, or data operating in a regime unexpected to work or that validation should be made. """, aliases=["verbosity_warn"], ), log_level_rationale=hint_log_level( APgroup="logging", APpriority=25, mapcheck=mapcheck_positive_int_orNone, default=0, about=""" Detailed explanations of tests and algorithms. Extremely verbose and intended for first users and digest reports. """, aliases=["verbosity_rationale"], ), )