Beispiel #1
0
def setup_logging(verbose=True, level="INFO", directory=None, filename=None,
                  rotation_size="10MB"):
    """
    Setup logging.
    """

    root_logger = logging.getLogger("")

    for handler in root_logger.handlers:
        root_logger.removeHandler(handler)

    if verbose:
        handler = logging.StreamHandler(sys.stdout)
        handler.setLevel(parse_loglevel(level))
        root_logger.addHandler(handler)

    if not(directory is None and filename is None):
        max_log_size = parse_size(rotation_size)

        filepath = os.path.join(directory, filename)

        handler = RotatingFileHandler(filepath, maxBytes=max_log_size,
                                      backupCount=5)

        handler.setFormatter(
            logging.Formatter("%(asctime)s %(levelname)s %(message)s"))

        root_logger.setLevel(parse_loglevel(level))
        root_logger.addHandler(handler)

    return logging
Beispiel #2
0
def setup_logging(directory, filename, rotation_size, level):
    """
    Setup rotating file logging.
    """
    max_log_size = parse_size(rotation_size)

    filepath = os.path.join(directory, filename)
    handler = RotatingFileHandler(filepath, maxBytes=max_log_size, backupCount=3)
    handler.setLevel(level_map[level])

    formatter = logging.Formatter("%(asctime)s %(levelname)s %(message)s")
    handler.setFormatter(formatter)

    rootlogger = logging.getLogger("")
    rootlogger.setLevel(level_map[level])
    rootlogger.addHandler(handler)