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
|
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}}
|
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}}
|
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(
|
coloredlogs.install(
|
||||||
stream=sys.stdout,
|
stream=sys.stdout,
|
||||||
fmt='%(asctime)s %(levelname)s: %(message)s',
|
fmt='%(asctime)s %(levelname)s: %(message)s',
|
||||||
|
@ -34,6 +34,13 @@ verbose_option = click.option(
|
||||||
help='Enables verbose logging',
|
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(
|
color_option = click.option(
|
||||||
'--force-colors/--no-colors',
|
'--force-colors/--no-colors',
|
||||||
is_flag=True,
|
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 traceback import format_exc, format_exception_only, format_tb
|
||||||
from typing import Optional
|
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 wrapper import nowrapper_option, enforce_wrap
|
||||||
from progressbar import progress_bars_option
|
from progressbar import progress_bars_option
|
||||||
|
|
||||||
|
@ -24,19 +24,21 @@ from image.cli import cmd_image
|
||||||
@click.group()
|
@click.group()
|
||||||
@click.option('--error-shell', '-E', 'error_shell', is_flag=True, default=False, help='Spawn shell after error occurs')
|
@click.option('--error-shell', '-E', 'error_shell', is_flag=True, default=False, help='Spawn shell after error occurs')
|
||||||
@verbose_option
|
@verbose_option
|
||||||
|
@quiet_option
|
||||||
@config_option
|
@config_option
|
||||||
@nowrapper_option
|
@nowrapper_option
|
||||||
@color_option
|
@color_option
|
||||||
@progress_bars_option
|
@progress_bars_option
|
||||||
def cli(
|
def cli(
|
||||||
verbose: bool = False,
|
verbose: bool = False,
|
||||||
|
quiet: bool = False,
|
||||||
config_file: Optional[str] = None,
|
config_file: Optional[str] = None,
|
||||||
wrapper_override: Optional[bool] = None,
|
wrapper_override: Optional[bool] = None,
|
||||||
error_shell: bool = False,
|
error_shell: bool = False,
|
||||||
force_colors: Optional[bool] = None,
|
force_colors: Optional[bool] = None,
|
||||||
force_progress_bars: 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
|
# stdout is fd 1
|
||||||
config.runtime.colors = isatty(1) if force_colors is None else force_colors
|
config.runtime.colors = isatty(1) if force_colors is None else force_colors
|
||||||
config.runtime.verbose = verbose
|
config.runtime.verbose = verbose
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue