[enh] Define root logger and clean some globals in bin/yunohost

This commit is contained in:
Jérôme Lebleu 2015-11-13 21:45:55 +01:00
parent 1e447d84ce
commit fe6a01f206

View file

@ -7,14 +7,6 @@ import os
# Either we are in a development environment or not # Either we are in a development environment or not
IN_DEVEL = False IN_DEVEL = False
# Either cache has to be used inside the moulinette or not
USE_CACHE = True
# Output result in another format. Possible values are:
# - json: return a JSON encoded string
# - plain: return a script-readable output
OUTPUT_AS = None
# Level for which loggers will log # Level for which loggers will log
LOGGERS_LEVEL = 'INFO' LOGGERS_LEVEL = 'INFO'
TTY_LOG_LEVEL = 'SUCCESS' TTY_LOG_LEVEL = 'SUCCESS'
@ -55,11 +47,11 @@ def _parse_cli_args():
parser = argparse.ArgumentParser(add_help=False) parser = argparse.ArgumentParser(add_help=False)
parser.add_argument('--no-cache', parser.add_argument('--no-cache',
action='store_false', default=USE_CACHE, dest='use_cache', action='store_false', default=True, dest='use_cache',
help="Don't use actions map cache", help="Don't use actions map cache",
) )
parser.add_argument('--output-as', parser.add_argument('--output-as',
choices=['json', 'plain'], default=OUTPUT_AS, choices=['json', 'plain'], default=None,
help="Output result in another format", help="Output result in another format",
) )
parser.add_argument('--debug', parser.add_argument('--debug',
@ -97,18 +89,20 @@ def _init_moulinette(debug=False, verbose=False, quiet=False):
from moulinette import init from moulinette import init
# Define loggers handlers # Define loggers handlers
global LOGGERS_HANDLERS handlers = set(LOGGERS_HANDLERS)
if quiet and 'tty' in LOGGERS_HANDLERS: if quiet and 'tty' in handlers:
LOGGERS_HANDLERS.remove('tty') handlers.remove('tty')
elif verbose and 'tty' not in LOGGERS_HANDLERS: elif verbose and 'tty' not in handlers:
LOGGERS_HANDLERS.append('tty') handlers.append('tty')
root_handlers = handlers - set(['tty'])
# Define loggers level # Define loggers level
global LOGGERS_LEVEL, TTY_LOG_LEVEL level = LOGGERS_LEVEL
tty_level = TTY_LOG_LEVEL
if verbose: if verbose:
TTY_LOG_LEVEL = 'INFO' tty_level = 'INFO'
if debug: if debug:
LOGGERS_LEVEL = TTY_LOG_LEVEL = 'DEBUG' tty_level = level = 'DEBUG'
# Custom logging configuration # Custom logging configuration
logging = { logging = {
@ -126,7 +120,7 @@ def _init_moulinette(debug=False, verbose=False, quiet=False):
}, },
'handlers': { 'handlers': {
'tty': { 'tty': {
'level': TTY_LOG_LEVEL, 'level': tty_level,
'class': 'moulinette.interfaces.cli.TTYHandler', 'class': 'moulinette.interfaces.cli.TTYHandler',
}, },
'file': { 'file': {
@ -138,14 +132,20 @@ def _init_moulinette(debug=False, verbose=False, quiet=False):
}, },
'loggers': { 'loggers': {
'moulinette': { 'moulinette': {
'handlers': LOGGERS_HANDLERS, 'level': level,
'level': LOGGERS_LEVEL, 'handlers': handlers,
'propagate': False,
}, },
'yunohost': { 'yunohost': {
'handlers': LOGGERS_HANDLERS, 'level': level,
'level': LOGGERS_LEVEL, 'handlers': handlers,
'propagate': False,
}, },
}, },
'root': {
'level': level,
'handlers': root_handlers,
},
} }
# Create log directory # Create log directory
@ -192,5 +192,6 @@ if __name__ == '__main__':
from moulinette import cli from moulinette import cli
ret = cli(_retrieve_namespaces(), args, ret = cli(_retrieve_namespaces(), args,
use_cache=opts.use_cache, output_as=opts.output_as, use_cache=opts.use_cache, output_as=opts.output_as,
parser_kwargs={'top_parser': parser}) parser_kwargs={'top_parser': parser}
)
sys.exit(ret) sys.exit(ret)