1import sys 2import re 3 4""" 5Example usage: 6 python check_log_for_xa.py path/to/log/mysqld.2.err rollback,commit,prepare 7""" 8 9log_path = sys.argv[1] 10desired_filters = sys.argv[2] 11 12all_filters = [ 13 ('rollback', re.compile('(\[Note\] rollback xid .+)')), 14 ('commit', re.compile('(\[Note\] commit xid .+)')), 15 ('prepare', 16 re.compile('(\[Note\] Found \d+ prepared transaction\(s\) in \w+)')), 17] 18 19active_filters = [f for f in all_filters if f[0] in desired_filters] 20 21with open(log_path) as log: 22 for line in log: 23 line = line.strip() 24 for f in active_filters: 25 match = f[1].search(line) 26 if match: 27 print("**found '%s' log entry**" % f[0]) 28