bin/pvl.verkko-syslog
changeset 79 530c2aa73a97
parent 76 60bdff4bedfb
child 80 231d3de7081a
equal deleted inserted replaced
78:8deb7d308d18 79:530c2aa73a97
    35     parser.add_option_group(pvl.args.parser(parser))
    35     parser.add_option_group(pvl.args.parser(parser))
    36 
    36 
    37     # input
    37     # input
    38     parser.add_option_group(pvl.syslog.args.parser(parser))
    38     parser.add_option_group(pvl.syslog.args.parser(parser))
    39     parser.add_option_group(pvl.syslog.rule.parser(parser))
    39     parser.add_option_group(pvl.syslog.rule.parser(parser))
    40     parser.add_option_group(pvl.irker.parser(parser))
    40     parser.add_option_group(pvl.irker.parser(parser, connect=None))
    41 
    41 
    42     parser.add_option('--irker-target', metavar='IRC',
    42     parser.add_option('--irker-target', metavar='IRC',
    43             help="Irker target URL")
    43             help="Irker target URL")
    44 
    44 
    45     # parse
    45     # parse
    64     
    64     
    65     log.info("Load rules...")
    65     log.info("Load rules...")
    66     rules = pvl.syslog.rule.apply(options)
    66     rules = pvl.syslog.rule.apply(options)
    67 
    67 
    68     log.info("Connect IRK..")
    68     log.info("Connect IRK..")
    69     irk = pvl.irker.apply(options)
    69     irker = pvl.irker.apply(options)
    70 
    70 
    71     log.info("Process syslog messages...")
    71     log.info("Process syslog messages...")
    72     for item in syslog.main() :
    72     for item in syslog.main() :
    73         match, rulepath, apply = rules.apply(item)
    73         match, rulepath, apply = rules.apply(item)
    74 
    74 
    76         
    76         
    77         target = apply.get('irk', options.irker_target)
    77         target = apply.get('irk', options.irker_target)
    78         
    78         
    79         tag = '/'.join(str(rule) for rule in reversed(rulepath[:-1]))
    79         tag = '/'.join(str(rule) for rule in reversed(rulepath[:-1]))
    80         text = apply.get('text')
    80         text = apply.get('text')
    81 
    81         
    82         print target, tag, text
    82         if irker and target :
       
    83             irker[target]('[' + tag + '] ' + text)
       
    84         else :
       
    85             print target, tag, text
    83     
    86     
    84     # done
    87     # done
    85     log.info("Exiting...")
    88     log.info("Exiting...")
    86     return 0
    89     return 0
    87 
    90