Source code for ample.util.logging_util

import logging
import sys

[docs]def setup_console_logging(level=logging.INFO, formatstr='%(message)s\n' # Always add a blank line after every print ): """ Set up logging to the console for the root logger. Parameters ---------- level : int Sets the threshold for the console output to level. formatstr : str The string used to format the log messages Returns ------- logger : :obj:logging.logger The root logger """ logger = logging.getLogger() logger.setLevel(logging.DEBUG) # Seems they changed the api in python 2.6->2.7 try: cl = logging.StreamHandler(stream=sys.stdout) except TypeError: cl = logging.StreamHandler(stream=sys.stdout) cl.setLevel(level) formatter = logging.Formatter(formatstr) cl.setFormatter(formatter) logger.addHandler(cl) return logger
[docs]def setup_file_logging(logfile, level=logging.DEBUG, formatstr='%(asctime)s - %(name)s - %(levelname)s - %(message)s'): """ Set up logging to a file for the root logger. Parameters ---------- logfile : str The path to the logfile that output will be written to. level : int Sets the threshold for the console output to level. formatstr : str The string used to format the log messages Returns ------- logger : :obj:logging.logger The root logger """ logger = logging.getLogger() fl = logging.FileHandler(logfile) fl.setLevel(level) formatter = logging.Formatter(formatstr) fl.setFormatter(formatter) logger.addHandler(fl) return logger