Python/Logging

From Fundamental Ramen
Jump to navigation Jump to search

Load config in YAML format.

import yaml
import logging

cfg_yaml = '{}/conf/logging.yaml'.format(get_package_dir())
with open(cfg_yaml, 'r') as cfg_file:
    cfg_dict = yaml.load(open(cfg_yaml, 'r'), Loader=yaml.SafeLoader)
    for name in cfg_dict['handlers']:
        handler = cfg_dict['handlers'][name]
        # Replace ~ (home) as absolute path.
        if 'filename' in handler and handler['filename'].startswith('~'):
            handler['filename'] = os.path.expanduser(handler['filename'])
    logging.config.dictConfig(cfg_dict)

Inject a handler

exit(1)