Esempio n. 1
0
File: process.py Progetto: embr/wmf
          'INFO': log.INFO,
          'WARNING': log.WARNING,
          'ERROR': log.ERROR,
          'CRITICAL': log.CRITICAL}

def parse_args():
    """
    support output file selection
    max number of lines for debugging
    log level
    """
    parser = argparse.ArgumentParser(description='Process a collection of squid logs and write certain extrated metrics to file')
    parser.add_argument('squid_files', metavar='squid_file', nargs='+', type=str, help='squid files to be processed')
    parser.add_argument('-m', '--max', dest='max_lines', type=int, default=(), help='number of lines to processed total (from all files)')
    parser.add_argument('-l', '--log', dest='log_level', choices=LEVELS.keys(), default='INFO', help='log level')

    args = parser.parse_args()
    pprint.pprint(args.__dict__)
    log.getLogger().setLevel(LEVELS[args.log_level])
    return args

if __name__ == '__main__':
    args = parse_args()

    processors = []
    processors.append(DeviceTypeCounter(args))

    manager = ProcessManager(args.squid_files, processors, options=args)
    manager.process_files_par()

Esempio n. 2
0
def main():
    processors = [LineCounter()]
    args = SquidArgumentParser().parse_args()
    logging.info(pprint.pformat(args.__dict__))
    manager = ProcessManager(args.squid_files, processors, options=args)
    manager.process_files_par()