So, both MongoDB and Redis are DB's optimized for keeping stuff heavily in memory. I wouldn't use either for heavy logging.
RRDTool is nice, but only for data where you don't mind losing records.
For straight logging, SQL is actually a better solution than a lot of those options. If you need weird queries, something like Elastic Search or Solr on top of your SQL DB can buy you quite a bit of freedom. As can denormalizing your SQL.
One other thing to consider of course, is something like syslog.
HBase might be a good solution, too, but I don't know a whole lot about it. CouchDB would work fine but you'd want to add some operational automation and a proxy to roll over between temporary databases since deleting old logs from a single database won't fully reduce its size and, as stated above, compaction isn't terribly fun or fast but you can avoid it by just flat out deleting old log databases.
Well actually it depends on what type of logging. If you plan on pouring megabytes of data/sec second into it continuously you might want to find something else. I don't think CouchDB would be a good candidate for that. It might be if you plan on archiving your post-processed logged data for a long term storage but you have to be smart about its format.
Yeah 'logging' can mean a lot of things that it is hard to give a better advice without more information.
Other DBs/tools you might want to look at:
* rrdtool http://oss.oetiker.ch/rrdtool/
* MongoDB http://www.mongodb.org/
* Redis http://redis.io/
* Custom format + plain text files