This basically is the unwired version of what I did so far. #1

wants to merge 10 commits into


None yet

3 participants

pibara commented Nov 13, 2012

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.


Indentation is incorrect.


Indentation is incorrect.


What exactly is this testing?

It would be better not to adapt an existing test, but to create a new one that you can use to test that the handler is being called correctly.


It was only to check that adding a custom logger would work.

You're right, I will make a proper test soon.
I'm not sure how to remove the two commits related to the test...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment