From: Tomas Puverle (Tomas.Puverle_at_[hidden])
Date: 2007-04-02 09:51:30
My colleague and I have just finished an initial implementation of a new
logging library. We think we have some nice features that we hope may be of
1) Each logging statement is a standalone object (thread-safe initialised),
which can be controlled independently. Here are some of the consequences of
this design choice:
a) You can control whether a log statement is on/off based on file,
file & line, function name or any other indexing scheme you can come up with
(e.g. "application component")
b) Each logging statement can have a separate list
of "destinations". These can be turned on and off at runtime.
c) We have lua bindings to the library, which is our primary way of
controling the amount of output.
2) A statement which is "off" is cheap (i.e. no streaming happens) The main
reason for this is that we want to be able to sprinkle a copious amount of log
statements throughout our code and then turn them on/off should the need arise.
3) Intuitive interface:
LOG (<list of destinations>) << "blah";
If you find the feature set interesting, let us know and we can start filling
in some more details. We'd be willing to work on boostifying it should there
be enough interest.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk