
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