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 <dl...@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