Yes I keep a log. I haven't always. What got me started was keeping track of my debugging work; before I kept a log I sometimes lost track of what I had already tried when trying to find and fix a bug and thus would re-try the same thing. Now, I note in my log what I've done so I don't repeat the exact same thing. I also use it to keep track of research, daily progress in development, testing results, etc.
Not directly relevant to programming, but my log also helps me keep track of what I've been working on. That way when management wants a progress report (monthly in most of the jobs I've had) I've got something to refresh my memory. As someone who has been required to put together reports from several workers to be passed up to management, I appreciated those who kept logs - it was easy to tell that those who didn't were either just recycling what they'd said before or making things up. Also, before keeping a log I would too often forget to report something that I should have been trumpeting as a success.
For a while I kept my log in a paper notebook, then I went to a text file, and then quickly switched to a word processor document (for better formatting). My latest is a blog on a private server, which was motivated by working in a job with multiple work locations, firewalls which prevented connections between the locations, and a prohibition on connecting external storage devices to the computers I used. I'm not in that situation anymore, but this allows me to access my stuff from anywhere - work, home, or travel.