On Monday 01 April 2013 17:04:40 Paul A. Bristow wrote:
Personally, I feel reluctant to maintain hard no-warnings guarantee in Boost.Log, simply because it's too
tedious and most warnings on higher levels are bogus anyway and trying to avoid them only makes the
code worse. I try to keep the code silent on normal levels, however.
Can you *suppress warnings* - some suggestions are at
https://svn.boost.org/trac/boost/wiki/Guidelines/WarningsGuidelines
Using push'n'pop around troublesome sections usually works, and isn't too tedious to implement.
That's what I do currently, if it is possible to do so with blanket #pragmas. The problem is that it doesn't always help (especially, with templates) as the warning may be bound to an external component that happens to be used with Boost.Log. That's what happens with Boost.Phoenix. Also, I want to point out that simply turning warnings off globally in Boost.Log kind of defeats the purpose for turning these warnings on in the first place.
Since there are shops that require use of higher warnings levels, or even warnings as errors, (despite what you might think about their decisions) you may make your reportedly excellent and very widely applicable log library unusable for them. This would be a pity?
Sure it would. However, this would be the result of counterproductive management decisions and not of particular flaws of Boost.Log, IMHO. One should fix the root of the problem.