Boost logo

Boost :

From: Michael van der Westhuizen (r1mikey_at_[hidden])
Date: 2005-11-10 16:08:21

On 11/6/05, Hartmut Kaiser <hartmut.kaiser_at_[hidden]> wrote:
> Hi all,
> today starts the review of the Boost.Logging library written by John Torjo.
> It will end on November 16th.
[snip snip]

Before I start, I'm very happy that this library is being considered for
inclusion in Boost - I've been using it for some time now, and overall
I have been very happy with it.

- What is your evaluation of the design?

I like the design. The concepts are very well thought out.

My only stumbling block has been that the default log manager can
only be extended in an all-or-nothing fashion, which makes
extending the logging solution quite difficult.

I would really like to have the option to simply replace the stream
type in the default log manager, instead of the whole thing. This
would make structured logging trivial.

- What is your evaluation of the implementation?

There are still a few rough edges which need to be ironed out.
Specifically, there are a lot of unused parameters and
signed/unsigned mismatches which make compilation with gcc a bit
too noisy for my liking.

There are quite a few TOTHINK etc. comments in the code, which
suggests that the author isn't quite happy with the implementation
details yet. These are, fortunately for me, mostly in areas which
I do not use.

- What is your evaluation of the documentation?

The documentation lacks any rationale for the decisions made, and
while it provides sufficient information for somebody who wants to
use the default facilities (perhaps with a custom appender or two),
I feel that the documentation could be improved by:

 - a high level, conceptual, overview of the library and the
   facilities it provides
 - adding rationale for design decisions
 - more information on extending the library, possibly with
   examples - I found myself guessing far too much.

I also felt that more advanced examples (and tests!) would have been
useful when starting out with the library.

- What is your evaluation of the potential usefulness of the library?

Extremely useful - I've already integrated it into one of our systems
at work!

- Did you try to use the library? With what compiler? Did you have any

As above, yes. I've used the library with vc71, Apple GCC 4, HP aCC 0.3.55
and Sun Studio 10 CC.

I had to modify the source lightly to get rid of warnings, remove the use
of boost::function (so that aCC, but a slightly older version, has a chance)
and remove the DLL bits so that I wouldn't have to jump through too many hoops
when moving the code into my source tree.

As stated above, I've only built the library outside of Boost.Build, but
I found the code and structure easy to understand and modify.

If the library is accepted into Boost, and if aCC gets more capable, I would
naturally use the Boost version of the code, not my own in-tree version.

- How much effort did you put into your evaluation? A glance? A quick
reading? In-depth study?

I've used the library extensively over the last three months.

- Are you knowledgeable about the problem domain?

Only insofar as I am aware of the problems of our existing logging
systems at work, and how this solution addresses those areas.

I feel that this library should be accepted into Boost, but that
attention should be paid to the areas above (particularly the
documentation for extenders).


Boost list run by bdawes at, gregod at, cpdaniel at, john at