We use a shared online Excel workbook as a place to track certain information (inventory for each character, primarily--which lets us track weight and carrying capacity and such and have it all auto-calc if you do something like drop your backpack). Amongst that is a sheet for Rumors and Information. I sometimes just copy and paste my own stuff on there, but my preference is for the players to write things up in their own words. I have columns for the information/rumor, the source, and any notes.
I started keeping track of rumors/information like this because I had given certain information through conversations with NPCs in earlier sessions, but the players either weren't paying enough attention (which would be odd since they were talking to the NPCs) or more likely just forgot the info. Later on the information became relevant, and they insisted I had not given it. I don't usually have friction like that with my players, and I just assumed they were right and I had forgotten it or said it unclearly in an abrupt transition (it happens), but after it happened more than once, and one player vaguely recalled that I had in fact given certain information, I started doing this to make sure that crap doesn't happen again. Since I started that, I also started giving them a ton of rumors (true and false) they may or may not decide to pursue, and they get recorded here.
For my personal records, I make an entry for each session and keep track of it in a database. It includes a variety of common information based on a template I made (PCs present--which is more important to the story than players present, real date, campaign world dates covered, XP awarded, and whatever events or notes I want to make). I use this as my personal review for a session. I also have a simple WordPad file with ongoing events and other notes I can keep track of, which I keep open and update regularly during and after play.
At the start of the session I generally ask a player to give a review of the previous session. I do this because we play online (we use TeamSpeak for voice, and I broadcast video of myself, but it is still a lot easier for players to drift off with the automatic disconnect that comes from not being in the same room--our group is aware of this because most of us used to play together in-person before moves happened.) I also encourage them to look at the list of rumors/information, and if there is something I feel their characters might have on their mind that doesn't come up, I bring it up also.
In the latter case, I try to include a variety of important and not-so-important information, to keep them guessing so they don't get the idea that the DM is always going to review what was important. Since this is a very sand-box sort of campaign (the players make the story, rather than follow any sort of adventure path), it's important they know this.