logger: add --quiet flag to disable non-error logging
This commit is contained in:
parent
f140fa36ce
commit
de7b597518
2 changed files with 13 additions and 4 deletions
11
logger.py
11
logger.py
|
@ -6,10 +6,10 @@ import sys
|
|||
from typing import Optional
|
||||
|
||||
|
||||
def setup_logging(verbose: bool, force_colors: Optional[bool] = None, log_setup: bool = True):
|
||||
def setup_logging(verbose: bool, quiet: bool = False, force_colors: Optional[bool] = None, log_setup: bool = True):
|
||||
level_colors = coloredlogs.DEFAULT_LEVEL_STYLES | {'info': {'color': 'magenta', 'bright': True}, 'debug': {'color': 'blue', 'bright': True}}
|
||||
field_colors = coloredlogs.DEFAULT_FIELD_STYLES | {'asctime': {'color': 'white', 'faint': True}}
|
||||
level = logging.DEBUG if verbose else logging.INFO
|
||||
level = logging.DEBUG if verbose and not quiet else (logging.INFO if not quiet else logging.ERROR)
|
||||
coloredlogs.install(
|
||||
stream=sys.stdout,
|
||||
fmt='%(asctime)s %(levelname)s: %(message)s',
|
||||
|
@ -34,6 +34,13 @@ verbose_option = click.option(
|
|||
help='Enables verbose logging',
|
||||
)
|
||||
|
||||
quiet_option = click.option(
|
||||
'-q',
|
||||
'--quiet',
|
||||
is_flag=True,
|
||||
help='Disable most logging, only log errors. (Currently only affects KBS logging, not called subprograms)',
|
||||
)
|
||||
|
||||
color_option = click.option(
|
||||
'--force-colors/--no-colors',
|
||||
is_flag=True,
|
||||
|
|
6
main.py
6
main.py
|
@ -7,7 +7,7 @@ from os import isatty
|
|||
from traceback import format_exc, format_exception_only, format_tb
|
||||
from typing import Optional
|
||||
|
||||
from logger import color_option, logging, setup_logging, verbose_option
|
||||
from logger import color_option, logging, quiet_option, setup_logging, verbose_option
|
||||
from wrapper import nowrapper_option, enforce_wrap
|
||||
from progressbar import progress_bars_option
|
||||
|
||||
|
@ -24,19 +24,21 @@ from image.cli import cmd_image
|
|||
@click.group()
|
||||
@click.option('--error-shell', '-E', 'error_shell', is_flag=True, default=False, help='Spawn shell after error occurs')
|
||||
@verbose_option
|
||||
@quiet_option
|
||||
@config_option
|
||||
@nowrapper_option
|
||||
@color_option
|
||||
@progress_bars_option
|
||||
def cli(
|
||||
verbose: bool = False,
|
||||
quiet: bool = False,
|
||||
config_file: Optional[str] = None,
|
||||
wrapper_override: Optional[bool] = None,
|
||||
error_shell: bool = False,
|
||||
force_colors: Optional[bool] = None,
|
||||
force_progress_bars: Optional[bool] = None,
|
||||
):
|
||||
setup_logging(verbose, force_colors=force_colors)
|
||||
setup_logging(verbose, quiet=quiet, force_colors=force_colors)
|
||||
# stdout is fd 1
|
||||
config.runtime.colors = isatty(1) if force_colors is None else force_colors
|
||||
config.runtime.verbose = verbose
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue