bin/pvl.verkko-syslog
changeset 43 9d13b101beab
child 45 10dfa434da77
equal deleted inserted replaced
42:a9d7563f7396 43:9d13b101beab
       
     1 #!/usr/bin/env python
       
     2 
       
     3 """
       
     4     Monitor DHCP use.
       
     5 """
       
     6 
       
     7 __version__ = '0.0'
       
     8 
       
     9 import pvl.args
       
    10 import pvl.syslog.args
       
    11 
       
    12 import logging, optparse
       
    13 
       
    14 log = logging.getLogger('main')
       
    15 
       
    16 def parse_options (argv) :
       
    17     """
       
    18         Parse command-line arguments.
       
    19     """
       
    20 
       
    21     prog = argv[0]
       
    22 
       
    23     parser = optparse.OptionParser(
       
    24             prog        = prog,
       
    25             usage       = '%prog: [options]',
       
    26             version     = __version__,
       
    27 
       
    28             # module docstring
       
    29             description = __doc__,
       
    30     )
       
    31     
       
    32     # options
       
    33     parser.add_option_group(pvl.args.parser(parser))
       
    34 
       
    35     ## syslog
       
    36     parser.add_option_group(pvl.syslog.args.parser(parser))
       
    37 
       
    38     # defaults
       
    39     parser.set_defaults(
       
    40 
       
    41     )
       
    42     
       
    43     # parse
       
    44     options, args = parser.parse_args(argv[1:])
       
    45     
       
    46     # apply
       
    47     pvl.args.apply(options, prog)
       
    48 
       
    49     return options, args
       
    50 
       
    51 def main (argv) :
       
    52     options, args = parse_options(argv)
       
    53     
       
    54     syslog = pvl.syslog.args.apply(options)
       
    55   
       
    56     log.info("Start processing syslog messages...")
       
    57 
       
    58     for item in syslog.loop() :
       
    59         print item
       
    60     
       
    61     # done
       
    62     log.info("Exiting...")
       
    63     return 0
       
    64 
       
    65 if __name__ == '__main__':
       
    66     import sys
       
    67 
       
    68     sys.exit(main(sys.argv))