Review of Jose Armando Garcia Sancio's std.log

H. S. Teoh hsteoh at quickfur.ath.cx
Fri Mar 2 00:20:03 PST 2012


On Thu, Mar 01, 2012 at 08:24:31PM -0600, Robert Jacques wrote:
> On Wed, 29 Feb 2012 18:13:30 -0600, Richard van Scheijen <dlang at mesadu.net> wrote:
> 
> >When logging the severity level should convey a certain insight
> >that the developer has about the code. This can be done with a 3
> >bit field. These are: known-cause, known-effect and breaks-flow.
> >
> >This creates the following matrix:
> >
> >KC KE BF Severity
> >=================
> >1  1  0  Trace
> >0  1  0  Info
> >1  0  0  Notice
> >0  0  0  Warning
> >1  1  1  Error
> >0  1  1  Critical
> >1  0  1  Severe
> >0  0  1  Fatal
> >
> >A known cause is when the developer knows why a log event is
> >made. e.g.: if you cannot open a file, you do not know why.
> >A known effect is when he/she knows what happens after.
> >Basically, you can tell if it is a catch-all by this flag.
> >
> >When a severity should only be handled by a debugger, the normal
> >debug statement should be used. This is in essence a 4th bit.
> >
> >I hope this helpful in the search for a good level system.
> >
> 
> vote++
> 
> I think establishing a good guideline as to log usage should be part
> of std.log's documentation. Making the bitflags a part of Severity
> might help cement this concept. It would also allow self documenting
> code, like:
> 
> log!(knownCause|unknownEffect|breaksFlow)("This is a severe message.");

+1. I like this *much* better than "info", "notice", ... etc.


T

-- 
"I'm not childish; I'm just in touch with the child within!" - RL


More information about the Digitalmars-d mailing list