mbligh | 7c8ea99 | 2009-06-22 19:03:08 +0000 | [diff] [blame^] | 1 | #!/usr/bin/python |
mbligh | e48bcfb | 2008-11-11 17:09:44 +0000 | [diff] [blame] | 2 | # |
jadmanski | 79777f6 | 2008-09-09 22:31:38 +0000 | [diff] [blame] | 3 | # Script for translating console output (from STDIN) into Autotest |
| 4 | # warning messages. |
mbligh | e48bcfb | 2008-11-11 17:09:44 +0000 | [diff] [blame] | 5 | |
| 6 | import optparse, os, sys |
| 7 | import monitors_util |
| 8 | |
| 9 | PATTERNS_PATH = os.path.join(os.path.dirname(__file__), 'console_patterns') |
| 10 | |
| 11 | usage = 'usage: %prog [options] logfile_name warn_fd' |
| 12 | parser = optparse.OptionParser(usage=usage) |
| 13 | parser.add_option( |
| 14 | '-t', '--log_timestamp_format', |
| 15 | default='[%Y-%m-%d %H:%M:%S]', |
| 16 | help='Timestamp format for log messages') |
| 17 | parser.add_option( |
| 18 | '-p', '--pattern_paths', |
| 19 | default=PATTERNS_PATH, |
| 20 | help='Path to alert hook patterns file') |
jadmanski | 79777f6 | 2008-09-09 22:31:38 +0000 | [diff] [blame] | 21 | |
| 22 | |
mbligh | e48bcfb | 2008-11-11 17:09:44 +0000 | [diff] [blame] | 23 | def main(): |
| 24 | (options, args) = parser.parse_args() |
| 25 | if len(args) != 2: |
| 26 | parser.print_help() |
| 27 | sys.exit(1) |
mbligh | f4e0415 | 2008-02-21 16:05:53 +0000 | [diff] [blame] | 28 | |
mbligh | e48bcfb | 2008-11-11 17:09:44 +0000 | [diff] [blame] | 29 | logfile = open(args[0], 'a', 0) |
| 30 | warnfile = os.fdopen(int(args[1]), 'w', 0) |
| 31 | # For now we aggregate all the alert_hooks. |
| 32 | alert_hooks = [] |
| 33 | for patterns_path in options.pattern_paths.split(','): |
| 34 | patterns_file = open(patterns_path) |
| 35 | alert_hooks.extend( |
| 36 | monitors_util.build_alert_hooks(patterns_file, warnfile)) |
| 37 | |
| 38 | monitors_util.process_input( |
| 39 | sys.stdin, logfile, options.log_timestamp_format, alert_hooks) |
mbligh | f4e0415 | 2008-02-21 16:05:53 +0000 | [diff] [blame] | 40 | |
| 41 | |
mbligh | e48bcfb | 2008-11-11 17:09:44 +0000 | [diff] [blame] | 42 | if __name__ == '__main__': |
| 43 | main() |