Implementing std.log

Robert Clipsham robert at octarineparrot.com
Mon May 9 11:30:45 PDT 2011


On 09/05/2011 07:52, Andrei Alexandrescu wrote:
> On 5/7/11 3:43 PM, Jose Armando Garcia wrote:
>> Hey folks,
>>
>> For the past couple of days I took the liberty of partially
>> implementing a logging module for D.
> [snip]
>
> Nice work. Also thanks for contacting me offline.
>
> As I mentioned I'd already decided I'll take a stab at implementing a
> logging module inspired in design from glog. I was tired of the endless
> discussions on what a logging API should look like. This ironically is
> leading now to an embarrassment of riches - we now have two proposals on
> the table. I subjectively prefer mine for the simple reason that it
> includes exactly what I wanted from a logging subsystem with a light
> syntax.
>
> The documentation is at
> http://d-programming-language.org/phobos-prerelease/std_log.html.
>
> The source code is at http://erdani.com/log.d, with informative title
> only; to compile the code you'd need some changes in std.format as well
> (I extended the positional parameter syntax to allow ranges of
> positions). Todos include slight refactoring to avoid bloat in generated
> code per call, OS portability (I only tested on OSX), and getting
> threading right by fixing the shared-related compiler bugs.
>
> Looking forward to more discussion of the matter.
>
>
> Andrei

The example looks great, exactly what I'd hope for in the way of a 
logging library. A few questions:

  * How do you disable logging at compile time? (and is it zero overhead?)
  * How do you define your own logging backend?
  * Is it possible to change logging options after initialisation?

There are a couple of features missing, but you seem to have mentioned 
planning to implement these elsewhere in the thread. Once they're in 
place I'd be happy to vote yes to its inclusion into phobos.

-- 
Robert
http://octarineparrot.com/


More information about the Digitalmars-d mailing list