
On Fri, 22 Oct 2004 12:38:03 +0200, Francis ANDRE <francis.andre@easynet.fr> wrote:
I am wondering what is the logging facility recommended by the boost community: We are using log4cpp and are quite satified for now of its functionnalities. But as usual, it is a separate package, not anymore maintained and out of the boost foundry...
I too would love to see a boost logging framework. We're using log4cplusplus here (different implementation than log4cpp but similar structure derived from log4j) and it has some nice features but some warts as well. Anyone interested in working on such a beast? It should be reasonably simple to write something with the new Boost.Iostreams facilities that have been reviewed recently. The must-have features for me are: * Uses iostreams * Thread-safe (e.g. two threads can't have their output intermixed in the output file/stream/whatever like they would with simple ostream<< operators) * Multiple possible output media (files, sockets, syslog, Windows event log, etc) * Multiple named channels each with configurable "threshold" (e.g. error, warning, debug, etc) * Messages which won't be logged shouldn't even go through the formatting step. I'm pretty sure this cannot be done in a single call w/o macros though. For example: BOOST_LOG (boost::log::debug, "This is a debug message: " << some_expensive_to_stream_class); Which would expand to something like: if (boost::log::is_enabled_for (boost::log::debug)) { ostringstream __os; os << "This is a debug message: " << some_expensive_to_stream_class; boost::log::force_write (boost::log::debug, os.str ()); } Anyone interested in working on this? -- Caleb Epstein caleb.epstein@gmail.com