def msg(*msg, v=<NUM_LIT:4>, time=False, memory=False, reset=False, end='<STR_LIT:\n>',<EOL>no_indent=False, t=None, m=None, r=None):
<EOL>if t is not None: time = t<EOL>if m is not None: memory = m<EOL>if r is not None: reset = r<EOL>if isinstance(v, str):<EOL><INDENT>v = _VERBOSITY_LEVELS_FROM_STRINGS[v]<EOL><DEDENT>if v == <NUM_LIT:3>:  <EOL><INDENT>msg = ('<STR_LIT>',) + msg<EOL><DEDENT>if v >= <NUM_LIT:4> and not no_indent:<EOL><INDENT>msg = ('<STR_LIT:U+0020>',) + msg<EOL><DEDENT>if _settings_verbosity_greater_or_equal_than(v):<EOL><INDENT>if not time and not memory and len(msg) > <NUM_LIT:0>:<EOL><INDENT>_write_log(*msg, end=end)<EOL><DEDENT>if reset:<EOL><INDENT>try:<EOL><INDENT>settings._previous_memory_usage, _ = get_memory_usage()<EOL><DEDENT>except:<EOL><INDENT>pass<EOL><DEDENT>settings._previous_time = get_time()<EOL><DEDENT>if time:<EOL><INDENT>elapsed = get_passed_time()<EOL>msg = msg + ('<STR_LIT>'.format(_sec_to_str(elapsed)),)<EOL>_write_log(*msg, end=end)<EOL><DEDENT>if memory:<EOL><INDENT>_write_log(get_memory_usage(), end=end)<EOL><DEDENT><DEDENT>
Write message to logging output.
    Log output defaults to standard output but can be set to a file
    by setting `sc.settings.log_file = 'mylogfile.txt'`.
    v : {'error', 'warn', 'info', 'hint'} or int, (default: 4)
        0/'error', 1/'warn', 2/'info', 3/'hint', 4, 5, 6...
    time, t : bool, optional (default: False)
        Print timing information; restart the clock.
    memory, m : bool, optional (default: Faulse)
        Print memory information.
    reset, r : bool, optional (default: False)
        Reset timing and memory measurement. Is automatically reset
        when passing one of ``time`` or ``memory``.
    end : str (default: '\n')
        Same meaning as in builtin ``print()`` function.
    no_indent : bool (default: False)
        Do not indent for ``v >= 4``.