Klaim/cpp-netlib — pull request #1 by pibara (2012-11-13 11:12:52+00:00)
Title: This basically is the unwired version of what I did so far.

Hi Klaim

libs/network/test/logger_demo.cpp shows a demo of different usage modes of the code
under include/network/utils/

The idea would be that any class that wants to log derives from log_base, and that there are basicly 3 ways such a derived class might have its log stream initialized:

* as default null stream
* as staticly (pre constructor time) injected static process wide logger stream.
* as constructor injected log stream.

There is also an inner loop log macro. The idea is that a stream is more convenient than a macro, but
a macro is the only way to truly turn logging off. Normally the overhead of logging to a null-stream is negligible, but in an inner loop it often is not and, and you will want to sacrifice the convenience of logging to a stream for non-debug performance reasons.

I hope my code makes sense, and if so, please let me know if you find it is usefull to integrate it or parts of it with your work.