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)
|
|
|