
Hello JD, Thursday, April 5, 2007, 12:05:01 AM, you wrote:
I see. I guess now I'm beginning to understand what channels are meant for. The channel appears to be yet another attribute which defines the "class" of the log record (i.e. an access log, debug trace, etc.).
Actually yes, let's put it this way.
Seems to me we have to fix the set of mandatory attributes that every log record should always have and leave space for optional attributes (channels go here). I see these attributes as mandatory: - record number (increments for each record collected) - record date and time - thread name (if not set - thread id) - scope stack - severity level - message text
As for optional attributes I think, it's better to leave them on user's behalf since it's too difficult to figure out the correct set of them and implement suitable interface to operate them in the unified and convenient way. But, surely, the library should leave an easy way to implement them.
- filename - line number
These should be optional since one have to explicitly set them at each log record, which obviously may be omitted. We may support them in the library-provided macros.
- process name
This might be mandatory, although I'm not sure there's a portable way to get it without having the command line. -- Best regards, Andrey mailto:andysem@mail.ru