Can't figure out why changing global log level variable does not affect logging

25 views
Skip to first unread message

Peter Gusev

unread,
Jun 15, 2017, 9:14:29 PM6/15/17
to CocoaLumberjack
In my macOS application project, I declared ddLogLevel variable in pre-compiled header file as:

static DDLogLevel ddLogLevel = DDLogLevelOff;


In my static initialize method of "AppDelegate" I read NCUserDefaults and alter this variable accordingly:

    NSString *logLevel = [[NSUserDefaults standardUserDefaults] stringForKey:@"logLevel"];

    

    if (logLevel != nil)

    {

        if ([logLevel isEqualToString:@"off"])

            ddLogLevel = DDLogLevelOff;

        if ([logLevel isEqualToString:@"trace"])

            ddLogLevel = DDLogLevelVerbose;

        if ([logLevel isEqualToString:@"debug"])

            ddLogLevel = DDLogLevelDebug;

        if ([logLevel isEqualToString:@"info"])

            ddLogLevel = DDLogLevelInfo;

        if ([logLevel isEqualToString:@"warning"])

            ddLogLevel = DDLogLevelWarning;

        if ([logLevel isEqualToString:@"error"])

            ddLogLevel = DDLogLevelError;

        

        NSLog(@"Set log level to %lu (%@)", (unsigned long)ddLogLevel, logLevel);

    }


However, this change does not affect output - the default value (DDLogLevelOff) is taken instead and no logging is performed.
Can't figure out why?

Reply all
Reply to author
Forward
0 new messages