137 args = get_parser().parse_args()
138 logging.basicConfig(stream=sys.stdout,
139 format='messageCounter %(levelname)-8s %(message)s',
140 level=logging.DEBUG if args.verbose else logging.INFO)
141
142 start = re.compile(args.startPattern) if args.startPattern else None
143 end = re.compile(args.endPattern) if args.endPattern else None
144 args.ignore.extend(default_ignore_patterns)
145 ignore = [re.compile(p) for p in args.ignore]
146
147 for fname in args.logfiles:
148 if not os.path.isfile(fname):
149 logging.error('Cannot open file %s, skipping', fname)
150 continue
151 logging.info('Analysing file %s', fname)
152 with open(fname, encoding='utf-8') as f:
153 messages = extract_messages(f, start, end, ignore)
154 summary = make_summary(messages)
155 print_result(summary, messages, args.printMessages)
156 out_file_name = 'MessageCount.{:s}.json'.format(fname)
157 save_summary_to_json(summary, out_file_name)
158 if args.saveAll:
159 all_out_file_name = 'Messages.{:s}.json'.format(fname)
160 save_all_to_json(messages, all_out_file_name)
161
162