|
Boost : |
From: John Eddy (johneddy_at_[hidden])
Date: 2005-02-14 19:48:03
I have continued working on a logging library as a possible contender
for a new Boost library.
I have made sweeping changes inspired by comments and requests from a
number of people (all very helpful). Here are some of the properties of
the library as it is now.
All components are completely independent of one another and highly
parameterized for flexibility. The primary components are:
-Entries which can be anything at all (built-in or user-defined types).
There are a number of custom entries that I have created that support
for example ostream like formatting.
-Logs which actually go about the job of storing/processing/whatevering
entries. I have created a few logs for writing to files, ostreams,
storing entries in a list, etc.
-Log managers are intermediaries between users and logs. They can do
whatever they wish prior to passing entries on to logs. I have
implemented a few managers so far. 1 that does virtually nothing. 1
that discriminates based on logging levels (only entries of appropriate
levels get logged) and one that discriminates on levels and supplies a
callback mechanism for whatever levels desired. Many managers can be
attached to the same log.
-Level Policies are classes supplied to level log managers indicating
what the different allowable levels are.
The documentation is still in very rough shape but the code in its
current state is available for simple download from
www.eng.buffalo.edu/~johneddy. It is not well Boost-ified yet but the
directory structure is in place and some example files are available.
Everything is implemented in header files at this point so no library
need be built.
John
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk