
Hi Mark,
1) Each trace (log) many have zero or more observers (appender) with independent control of what is seen.
For example our production systems run with an observer which only writes only critical/error messages to a local file. However we also provide off-site support, where we remotely connect (possibly multiple people connecting) via tcp/ip to the logging system, where each person has their own view and only sees the traces that they have enabled.
Yes, already there ;)
2) Redirecting cout / cerr to a trace.
For example we use some 3rd party libraries which write errors to cout / cerr etc, so we allow the option of running (via a command line option) in console mode (anything written to std output appears), or silent mode, where cout / cerr is redirected to its own trace.
True... Whew - one more thing on my todo list ;)
3) Different formats (modifiiers) for different observers.
For example for a file format we might like each line as "<date> <time> : <trace> : <level> : <message>", where as we might also like to send the same data across the network in xml / asn1 format, or even insert a row into a database table.
As to how important these would be to me: 1) & 3) would be very important, 2) would be a nicety.
As for 3), it's already there -- although the interface could be easier. As said in previous emails, I'd like to have another lib which makes configuring the logging much easier. Best, John -- John Torjo, Contributing editor, C/C++ Users Journal -- "Win32 GUI Generics" -- generics & GUI do mix, after all -- http://www.torjo.com/win32gui/ -v1.6.3 (Resource Splitter) -- http://www.torjo.com/cb/ - Click, Build, Run!