
----- Original Message ----- From: "Andrey Semashev" <andrey.semashev@gmail.com> To: <boost@lists.boost.org> Sent: Wednesday, March 17, 2010 10:54 PM Subject: Re: [boost] [log] Boost.Log formal review closing down
On 03/18/2010 12:45 AM, vicente.botet wrote:
* all the logger macros should be able to generate non executed code. In addition I would like that the filter on the severity be included in. For example
#if defined (BOOST_LOG_INCLUDED) #define BOOST_LOG_SEV(LOGGER, SEVERITY) if (true); else logger #else #define BOOST_LOG_SEV(LOGGER, SEVERITY) \ if (boost::log::core::enabled(SEVERITY) //as before #endif
The rational is that most of the time the application should not trace nothing, except critical errors. This test avoids the construction of the record_log, and evaluate the filter on all the attributes.
Answered on this earlier.
Not completly. You have no commented about testing severity before creating the log record. Could you comment?
I thought I did. But let me say it again: if the filter rejects the log record, no attributes are evaluated, except for those involved in filtering. More specifically, only severity attribute is evaluated. An empty record is constructed (which equivalent to assigning NULL to a pointer).
I will take a look at the code then. :(
mc is not present in MinGW, GCC or MSVC Express. You would have to install Windows SDK or full MSVC to get it. The mc tool is expected to be present in MSVC 10 Express. I have added the note to the docs in trunk about that.
What this tool does, and can the library work without? Could this be used conditionaly?
It is the Message Compiler. It is required for the Event Log backend on Windows.
Could this be used conditionaly? Vicente