Ejemplo n.º 1
0
 def unwatch(self, file, fid):
     # file no longer exists; if it has been renamed
     # try to read it for the last time in case the
     # log rotator has written something in it.
     lines = self.readfile(file)
     utils.log("[{0}] - un-watching logfile {1}".format(fid, file.name))
     del self.files_map[fid]
     if lines:
         self.callback(file.name, lines)
Ejemplo n.º 2
0
 def unwatch(self, file, fid):
     # file no longer exists; if it has been renamed
     # try to read it for the last time in case the
     # log rotator has written something in it.
     lines = self.readfile(file)
     utils.log("[{0}] - un-watching logfile {1}".format(fid, file.name))
     del self.files_map[fid]
     if lines:
         self.callback(file.name, lines)
Ejemplo n.º 3
0
 def __init__(self, configfile):
     utils.log('processing config file %s' % configfile)
     defaults = {
         'add_field': '',
         'debug': '',
         'discover_interval': '15',
         'exclude': '',
         'format': '',
         'message_format': '',
         'sincedb_path': '',
         'sincedb_write_interval': '15',
         'stat_interval': '1',
         'tags': '',
         'type': ''
     }
     self._configfile = configfile
     self._config = ConfigParser.ConfigParser(defaults)
     self._sanitize()
     self._data = self._parse()
Ejemplo n.º 4
0
 def __init__(self, configfile):
     utils.log('processing config file %s' % configfile)
     defaults = {
         'add_field': '',
         'debug': '',
         'discover_interval': '15',
         'exclude': '',
         'format': '',
         'message_format': '',
         'sincedb_path': '',
         'sincedb_write_interval': '15',
         'stat_interval': '1',
         'tags': '',
         'type': ''
     }
     self._configfile = configfile
     self._config = ConfigParser.ConfigParser(defaults)
     self._sanitize()
     self._data = self._parse()
Ejemplo n.º 5
0
def run_worker(options):
    utils.log("Logging using the {0} transport".format(options.transport))
    if options.transport == 'redis':
        import beaver.redis_transport
        transport = beaver.redis_transport.RedisTransport()
    elif options.transport == 'stdout':
        import beaver.stdout_transport
        transport = beaver.stdout_transport.StdoutTransport()
    elif options.transport == 'zmq':
        import beaver.zmq_transport
        transport = beaver.zmq_transport.ZmqTransport()
    elif options.transport == 'rabbitmq':
        import beaver.rabbitmq_transport
        transport = beaver.rabbitmq_transport.RabbitmqTransport()
    else:
        raise Exception('Invalid transport {0}'.format(options.transport))

    try:
        utils.log("Starting worker...")
        l = Worker(options, transport.callback)
        utils.log("Working...")
        l.loop()
    except KeyboardInterrupt:
        utils.log("Shutting down. Please wait.")
        transport.interrupt()
        utils.log("Shutdown complete.")
        sys.exit(0)
    except Exception, e:
        utils.log("Unhandled Exception: {0}".format(str(e)))
        transport.unhandled()
        sys.exit(1)
Ejemplo n.º 6
0
                self.watch(fname)

    def readfile(self, file):
        lines = file.readlines()
        if lines:
            self.callback(file.name, lines)

    def watch(self, fname):
        try:
            file = open(fname, "r")
            fid = self.get_file_id(os.stat(fname))
        except EnvironmentError, err:
            if err.errno != errno.ENOENT:
                raise
        else:
            utils.log("[{0}] - watching logfile {1}".format(fid, fname))
            self.files_map[fid] = file

    def unwatch(self, file, fid):
        # file no longer exists; if it has been renamed
        # try to read it for the last time in case the
        # log rotator has written something in it.
        lines = self.readfile(file)
        utils.log("[{0}] - un-watching logfile {1}".format(fid, file.name))
        del self.files_map[fid]
        if lines:
            self.callback(file.name, lines)

    @staticmethod
    def get_file_id(st):
        return "%xg%x" % (st.st_dev, st.st_ino)
Ejemplo n.º 7
0
def run_worker(options, fileconfig):
    utils.log("Logging using the {0} transport".format(options.transport))
    if options.transport == 'redis':
        import beaver.redis_transport
        transport = beaver.redis_transport.RedisTransport(fileconfig)
    elif options.transport == 'stdout':
        import beaver.stdout_transport
        transport = beaver.stdout_transport.StdoutTransport(fileconfig)
    elif options.transport == 'zmq':
        import beaver.zmq_transport
        transport = beaver.zmq_transport.ZmqTransport(fileconfig)
    elif options.transport == 'rabbitmq':
        import beaver.rabbitmq_transport
        transport = beaver.rabbitmq_transport.RabbitmqTransport(fileconfig)
    else:
        raise Exception('Invalid transport {0}'.format(options.transport))

    try:
        utils.log("Starting worker...")
        l = Worker(options, transport.callback)
        utils.log("Working...")
        l.loop()
    except KeyboardInterrupt:
        utils.log("Shutting down. Please wait.")
        transport.interrupt()
        utils.log("Shutdown complete.")
        sys.exit(0)
    except Exception, e:
        utils.log("Unhandled Exception: {0}".format(str(e)))
        print("Unhandled Exception: {0}".format(str(e)))
        transport.unhandled()
        sys.exit(1)
Ejemplo n.º 8
0
                self.watch(fname)

    def readfile(self, file):
        lines = file.readlines()
        if lines:
            self.callback(file.name, lines)

    def watch(self, fname):
        try:
            file = open(fname, "r")
            fid = self.get_file_id(os.stat(fname))
        except EnvironmentError, err:
            if err.errno != errno.ENOENT:
                raise
        else:
            utils.log("[{0}] - watching logfile {1}".format(fid, fname))
            self.files_map[fid] = file

    def unwatch(self, file, fid):
        # file no longer exists; if it has been renamed
        # try to read it for the last time in case the
        # log rotator has written something in it.
        lines = self.readfile(file)
        utils.log("[{0}] - un-watching logfile {1}".format(fid, file.name))
        del self.files_map[fid]
        if lines:
            self.callback(file.name, lines)

    @staticmethod
    def get_file_id(st):
        return "%xg%x" % (st.st_dev, st.st_ino)