--- a/bin/pvl.verkko-syslog Fri Jan 04 18:44:58 2013 +0200
+++ b/bin/pvl.verkko-syslog Fri Jan 04 18:45:59 2013 +0200
@@ -36,11 +36,8 @@
# input
parser.add_option_group(pvl.syslog.args.parser(parser))
+ parser.add_option_group(pvl.syslog.rule.parser(parser))
parser.add_option_group(pvl.irker.parser(parser))
-
- # processing
- parser.add_option('-r', '--rules', metavar='FILE',
- help="Syslog rules")
# parse
options, args = parser.parse_args(argv[1:])
@@ -61,22 +58,33 @@
log.info("Open syslog...")
syslog = pvl.syslog.args.apply(options)
-
+
log.info("Load rules...")
- rules = pvl.syslog.rule.config(open(options.rules))
+ rules = pvl.syslog.rule.apply(options)
log.info("Connect IRK..")
irk, target = pvl.irker.apply(options, target=target)
- if not target :
- log.error("No irk target given")
- return 2
log.info("Process syslog messages...")
- for tag, line in rules.process(syslog.loop()) :
+ for item in syslog :
+ if rules :
+ match = rules.apply(item)
+ else :
+ match = None, item['msg']
+
+ if not match :
+ continue
+
+ tag, line = match
+
+ log.info("%s", line)
+
# TODO: map tag -> target?
- log.info("%s", line)
- target(line)
+ if target :
+ target(line)
+ else :
+ print tag, line
# done
log.info("Exiting...")