Python/Logging: Difference between revisions

From Fundamental Ramen
Jump to navigation Jump to search
 
(One intermediate revision by the same user not shown)
Line 14: Line 14:
             handler['filename'] = os.path.expanduser(handler['filename'])
             handler['filename'] = os.path.expanduser(handler['filename'])
     logging.config.dictConfig(cfg_dict)
     logging.config.dictConfig(cfg_dict)
</source>
== Inject a handler ==
<source lang="python">
exit(1)
</source>
</source>

Latest revision as of 06:22, 8 May 2020

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)