Araq, you are doubtlessly correct in that the right way to do it is a hook that receives structured data. Perhaps there is something worth putting in the standard library even in this case (e.g., an easy, consistent way to timestamp and mark severity - even if only as a concept).
Nevertheless, it is essentially guaranteed that as Nim becomes more popular (and I hope it does), people will go to their old ways of textual logging; and it is probably better to have some uniform way of approaching that, rather than a plethora of incompatible ones. Is there some kind of generic "logger" interface that you would approve of? Even if it's a callback interface that just prints the time and the type of the passed object by default? (And not e.g. the text itself if the object is text, so as not to promote that use?)