std.logger sharedLog usage

Robert burner Schadek via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sun Mar 29 05:37:21 PDT 2015


On Sunday, 29 March 2015 at 01:36:24 UTC, lobo wrote:
> Hi,
>
> I'm trying to use std.experimental.logger and I'd like the 
> logf(), tracef() style functions to log to a file and stdout.
> (note: I can use sharedLog.logf(), sharedLog.tracef(), but I 
> prefer just logf())
>
>
> So I did this:
>
> shared static this() {
>     auto ml = new MultiLogger();
>     ml.insertLogger("stdout", new FileLogger(std.stdio.stdout));
>     ml.insertLogger("applog", new FileLogger("applog.txt"));
>     sharedLog = ml;
>     logf("This is a test"); // Doesn't work
> }
>
>
> Which doesn't work, so I'm wondering if it's possible to do 
> what I want.
>
>
> thanks,
> lobo

just add the line stdThreadLocalLog.logLevel = LogLevel.info 
before logf and it should work. The default LogLevel of the 
MultiLogger and FileLogger is high than the default LogLevel of 
stdThreadLocalLog. (I will fix that)



More information about the Digitalmars-d-learn mailing list