'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()
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()