#!/usr/bin/env python from __future__ import absolute_import, division, print_function import sys from socket import * from time import strftime import datetime def main(): if len(sys.argv) < 4: print("completion_logger_server.py ") exit(1) host = sys.argv[1] port = int(sys.argv[2]) buf = 1024 * 8 addr = (host, port) # Create socket and bind to address UDPSock = socket(AF_INET, SOCK_DGRAM) UDPSock.bind(addr) print("Listing on {0}:{1} and logging to '{2}'".format(host, port, sys.argv[3])) # Open the logging file. f = open(sys.argv[3], "a") # Receive messages while 1: data, addr = UDPSock.recvfrom(buf) if not data: break else: f.write("{ ") f.write( '"time": "{0}"'.format( datetime.datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S") ) ) f.write(', "sender": "{0}" '.format(addr[0])) f.write(', "data": ') f.write(data) f.write(" }\n") f.flush() # Close socket UDPSock.close() if __name__ == "__main__": main()