Source code for windnode_kwum.tools.logger

import os
import logging
import logging.config

from windnode_kwum.tools import config


[docs]def setup_logger(log_dir=None, loglevel=logging.DEBUG): """ Instantiate logger Parameters ---------- log_dir : str Directory to save log, default: <package_dir>/../../logs/ loglevel : ? Loglevel Returns ------- instance of logger """ if log_dir is None: log_dir = os.path.join(config.get_data_root_dir(), config.get('user_dirs', 'log_dir')) logger = logging.getLogger('windnode_kwum') # use filename as name in log logger.setLevel(loglevel) # create a file handler handler = logging.FileHandler(os.path.join(log_dir, 'windnode_kwum.log')) handler.setLevel(logging.DEBUG) formatter = logging.Formatter( '%(asctime)s-%(levelname)s-%(funcName)s: %(message)s') handler.setFormatter(formatter) # create a stream handler (print to prompt) stream = logging.StreamHandler() stream.setLevel(logging.INFO) stream_formatter = logging.Formatter( '%(asctime)s-%(levelname)s: %(message)s', '%H:%M:%S') stream.setFormatter(stream_formatter) # add the handlers to the logger logger.addHandler(handler) logger.addHandler(stream) logger.propagate = False logger.debug('*********************************************************') logging.info('Path for logging: %s' % log_dir) return logger