Boost logo

Boost :

From: Genia Bezman (genia4_at_[hidden])
Date: 2005-10-03 08:47:06


The library would provide the ability to route a message, with an
arbitary severity, to any amount of "sinks". The library would support
any amount of loggers, identifiable by a unique name (std::string), so
that the exact same logger would always be returned for a certain
name.

Sinks would be defined by deriving from an abstract Sink class. The
library would provide a couple of premade sinks (file sink, console
sink; ideas welcome).

Any given logging message will use a derived class of an abstract
Severity class to denote its severity. The library would provide some
(8 or so) premade Severity subclasses.

Possible syntax would be something like this:
In some header file:
FileSink fs("log.txt");
LOGGER("My Logger").tie(fs);

In some source file:
LOGGER << Warning << "Testing logger" << 42 << 3.4 << 'a' << endl;

LOGGER(name) would be defined as something like Logger::instance(name,
__LINE__, __FILE__)

In addition, there would be a way to specify output formatting on a
per-logger basis, ideas for possible syntax very welcome (maybe a
printf-like syntax?)

Any input is appreciated.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk