
Darn - forgot reply responds to boost. So, I apologize for the stupid spam. The scenario we use is something akin to the following (using macros): LOG(int level, string tag) << "whatever"; The logging (as a whole) can be enabled/disabled. When enabled, portions (according to the 'tag') as well as the level, can be selectively enabled. Levels and tags are automatically inserted into the stream (for post-filtering if desired). We generally have different logs/streams for different types of logging: errors, warnings, developer messages, determinism checks: ERROR_LOG(...) << ...; WARNING_LOG(...) << ...; etc. Which of course can be tied (at runtime) to the same stream or different streams. There's always the push for "speed", so a compile-time disabling (akin to NDEBUG for asserts) of certain streams is required. Note: we're not using boost logging, just because we've already got something that works. TJ -- Trey Jackson trey.jackson@intel.com "Never eat more than you can lift." -- Miss Piggy, a Jim Henson puppet