bin/pvl.verkko-syslog
changeset 51 96d204b146b4
parent 48 40ccb8d3c96e
child 55 cbdd49b76f16
--- 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...")