mirror of https://github.com/CIRCL/AIL-framework
				
				
				
			
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
| #!/usr/bin/env python2
 | |
| # -*- coding: utf-8 -*-
 | |
| 
 | |
| import argparse
 | |
| import signal
 | |
| from pubsublogger import subscriber
 | |
| 
 | |
| 
 | |
| def signal_handler(signal, frame):
 | |
|     if subscriber.pubsub is not None:
 | |
|         subscriber.stop()
 | |
|         print "Subscriber closed."
 | |
| 
 | |
| signal.signal(signal.SIGINT, signal_handler)
 | |
| 
 | |
| if __name__ == '__main__':
 | |
| 
 | |
|     parser = argparse.ArgumentParser(description='Configure a logging subscriber.')
 | |
| 
 | |
|     parser.add_argument("-H", "--hostname", default='localhost',
 | |
|             type=str, help='Set the hostname of the server.')
 | |
|     parser.add_argument("-p", "--port", default=6379,
 | |
|             type=int, help='Set the server port.')
 | |
|     parser.add_argument('-s', '--use_unix_socket',  action='store_true',
 | |
|             help='Use a unix socket path instead of a tcp socket.')
 | |
|     parser.add_argument("--unix_socket_path", default='/tmp/redis.sock',
 | |
|             type=str, help='Unix socket path.')
 | |
|     parser.add_argument("-c", "--channel",
 | |
|             type=str, required=True, help='Channel to subscribe to.')
 | |
|     parser.add_argument("-l", "--log_path",
 | |
|             required=True, help='Path where the logs will be written')
 | |
|     parser.add_argument("-d", "--debug", action="store_true",
 | |
|             help='Also log debug messages.')
 | |
|     parser.add_argument("-m", "--mail", type=file, default=None,
 | |
|             help='Path to the config file used to send errors by email.')
 | |
| 
 | |
|     args = parser.parse_args()
 | |
| 
 | |
|     if args.use_unix_socket:
 | |
|         subscriber.unix_socket = args.unix_socket_path
 | |
|     else:
 | |
|         subscriber.hostname = args.hostname
 | |
|         subscriber.port = args.port
 | |
|     subscriber.run(args.channel, args.log_path, args.debug, args.mail)
 | |
| 
 |