
You make a series of valid points. My enduring difficulty is that the phrase "whole new layer built on top" is technically correct, results in the whole new layer never being created and terabytes of free-format log files "out there".
I also suspect that if the "new layer" issue was addressed up front it would push the design around a bit. There could be a cleaner separation between a layer that transports bytes from the point of logging to the place of storage and the layer that codes and decodes application data to and from the byte stream.
Doesn't the concept "formatters versus destinations" provide just that? That is formatters provide formatting, and destinations, well you know - destinations ;) I still don't clearly know what you want :) If it's just having some well defined syntax for the logged messages - I would assume this is achievable using formatting. Best, John -- http://John.Torjo.com -- C++ expert http://blog.torjo.com ... call me only if you want things done right