//
//  DOLoggingMacros.h
//  DOCore
//
//  Created by Ben Dolman on 1/27/15.
//
//

#import <CocoaLumberjack/CocoaLumberjack.h>

static inline void DOLog(int context, DDLogFlag flag, NSString *fmt, va_list args)
{
    NSArray *array = [NSThread callStackSymbols];
    
    [DDLog log:YES
         level:LOG_LEVEL_VERBOSE
          flag:flag
       context:context
          file:""
      function:""
          line:0
           tag:nil
        format:fmt
          args:args];
}

#define DEF_LOG_FUNC(name, context, flag)                                               \
    void name(NSString *fmt, ...)                                                       \
    {                                                                                   \
        va_list arglist;                                                                \
        va_start(arglist, fmt);                                                         \
        DOLog(context, flag, fmt, arglist);                                             \
        va_end(arglist);                                                                \
    }