private boolean logRotation() {
		try {
			if (position == 0)
				return false;
			BufferedReader in = new BufferedReader(new InputStreamReader(
					new FileInputStream(logFilePath)));
			ZipOutputStream out = new ZipOutputStream(new FileOutputStream(
					archiveFileName));
			out.putNextEntry(new ZipEntry(identifier));
			int count = 0;
			String curLine = in.readLine();
			while (curLine != null || count < position) {
				out.write(curLine.getBytes());
				curLine = in.readLine();
				count++;
			}
			out.close();

			BufferedWriter output = new BufferedWriter(new FileWriter(
					logFilePath, false));
			while (curLine != null) {
				output.write(curLine);
				curLine = in.readLine();
			}

			logRowMap.put(identifier, (long) 0);
			writeLogRowFile();
			logFileSize = 0;
			position = 0;

			output.close();
			in.close();

			return true;
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return false;
	}