public String generateLogs(LoggingServerThread ls) {
		//need to generate 1 log per machine
		//with the following
		//1. rare keys
		//2. somewhat frequent keys
		//3. frequent keys
		//4. bonus ultra rare
		//rest random
		ArrayList<String> knownKeys = new ArrayList<String>();
		knownKeys.add("_ULTR_");
		knownKeys.add("_RARE_");
		knownKeys.add("_SOME_");
		knownKeys.add("_FREQ_");
		String filename;
		
		filename = "machine." + ls.getServerNumber() + ".log";
		Random random = new Random();
		int linesToGenerate = 1100000;
		int j = 0;			
		
		//open file writer and generate random lines
		PrintWriter toFile;
		try {
			toFile = new PrintWriter(filename, "UTF-8");
			toFile.println("#LOG_FILE_FOR_SERVER_NUMBER_" + ls.getServerNumber() + "#");
			
			//generate random lines
			while(j < linesToGenerate) {
				int rand = random.nextInt(10000); //0-9999
				String keyValuePair = "";
				
				//ULTRA RARE
				if(rand == 0) 
					keyValuePair = "#_SERVERNUMBER_#" + ls.getServerNumber() + "{" + knownKeys.get(0) + ":" + knownKeys.get(0) + "}";
				//RARE
				else if(rand < 30) 
					keyValuePair = "#_SERVERNUMBER_#" + ls.getServerNumber() + "{" + knownKeys.get(1) + ":" + knownKeys.get(1) + "}";
				//SOME
				else if(rand < 300)
					keyValuePair = "#_SERVERNUMBER_#" + ls.getServerNumber() + "{" + knownKeys.get(2) + ":" + knownKeys.get(2) + "}";
				//FREQ
				else if(rand < 3000)
					keyValuePair = "#_SERVERNUMBER_#" + ls.getServerNumber() + "{" + knownKeys.get(3) + ":" + knownKeys.get(3) + "}";
				//RAND
				else 
					keyValuePair = "#_SERVERNUMBER_#" + ls.getServerNumber() + generateRandomLine();
				toFile.println(keyValuePair + "#LINE_NUMBER#" + j);
				j++;
			}
			toFile.close();			
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		return filename;
	}