def main(): from to_cube import CubeUploader cube = CubeUploader("http://localhost:1080/1.0/event/put") flush_lock = threading.Lock() state = {'skip': None, 'flushed_skip': None} def manual_flush(): with flush_lock: cube.flush() state['flushed_skip'] = state['skip'] flush_thread = FlushThread(manual_flush) flush_thread.start() try: while True: line = sys.stdin.readline() if not line: break event = json.loads(line) event['data']['logtail'] = True state['skip'] = event.pop('_skip') with flush_lock: cube.add(event) except KeyboardInterrupt: pass finally: flush_thread.stop = True manual_flush() if state['flushed_skip'] is not None: print state['flushed_skip'] flush_thread.join()
def main(): from apache_log import cube_events from to_cube import CubeUploader cube = CubeUploader("http://localhost:1080/1.0/event/put") log_file_name = sys.argv[1] for n, event in enumerate(cube_events(sys.stdin)): event['id'] = "%s/%d" % (log_file_name, n) cube.add(event) cube.flush()