import java.io.BufferedWriter; import java.io.FileWriter; import java.util.logging.Level; import java.util.logging.Logger; import com.vexsoftware.votifier.model.Vote; import com.vexsoftware.votifier.model.VoteListener; /** * A vote listener that logs to a file. * * @author Blake Beaupain */ public class FlatfileVoteListener implements VoteListener { /** The log file. */ public static final String FILE = "./plugins/Votifier/votes.log"; /** The logger instance. */ private static final Logger log = Logger.getLogger("FlatfileVoteListener"); @Override public void voteMade(Vote vote) { try { // Open a buffered writer in append mode. BufferedWriter writer = new BufferedWriter(new FileWriter(FILE, true)); // Append the vote to the file. writer.write(vote.toString()); writer.newLine(); writer.flush(); // All done. writer.close(); } catch (Exception ex) { log.log(Level.WARNING, "Unable to log vote: " + vote); } } }