 //        return [NSURL URLWithString:[NSString stringWithFormat:@"%@%@", [OCLoggerWorklight getWorklightBaseURL], LOG_UPLOADER_PATH]];
 //}
 //
-//
-//
-//+(BOOL) canLogWithLevel:(OCLogType) level withPackage:(NSString*)package {
-//    NSDictionary* filters = [OCLogger getFilters];
-//    
-//    if(filters != nil && [filters count] > 0 && level != OCLogger_ANALYTICS){
-//        NSObject* logLevel = [filters objectForKey:package];
-//        
-//        if(logLevel == nil){
-//            return false;
-//        }
-//        
-//        OCLogType filterLevel;
-//        
-//        if([logLevel isKindOfClass:[NSString class]]){
-//            filterLevel = [OCLogger getLevelType:(NSString*)logLevel];
-//        }else{
-//            filterLevel = (OCLogType)[(NSNumber*)logLevel integerValue];
-//        }
-//        
-//        if(level > filterLevel){
-//            return false;
-//        }
-//    } else {
-//        return [OCLogger getLevel] >= level;
-//    }
-//    
-//    return true;
-//}
-//
-//+(BOOL)shouldCaptureLog: (OCLogType)level{
-//    if(level == OCLogger_ANALYTICS){
-//        if([OCLogger getAnalyticsCapture] == NO){
-//            return false;
-//        }
-//    }
-//        
-//    else if([OCLogger getCapture] == NO){
-//        return false;
-//    }
-//    
-//    return true;
-//}
-//
 //+(BOOL) shouldUseServerConfig
 //    {
 //        NSObject *serverConfigSet = [[NSUserDefaults standardUserDefaults] objectForKey:TAG_SERVER_CAPTURE];
 //        return (serverConfigSet != NULL);
-//}
-//
-//+(NSString*) getCurrentTimestamp:(NSDate*)date
-//{
-//    NSString* dateStr = [globalFormatter stringFromDate:date];
-//    
-//    return dateStr;
 //}
 //
 //+(BOOL) isFileSize:(NSString*) filePath greaterThan:(int) max

//}
//
//
//#pragma mark - Log Instance Methods - No Context
//
//-(void) debug: (NSString*) text, ...
//{
//    va_list args;
//    va_start(args, text);
//    
//    [OCLogger logWithLevel:OCLogger_DEBUG andPackage:self.package andText:text andVariableArguments:args andSkipLevelCheck:NO andTimestamp:[NSDate date] andMetadata:@{}];
//    
//    va_end(args);
//}
//
//-(void) info: (NSString*) text, ...
//{
//    va_list args;
//    va_start(args, text);
//    
//    [OCLogger logWithLevel:OCLogger_INFO andPackage:self.package andText:text andVariableArguments:args andSkipLevelCheck:NO andTimestamp:[NSDate date] andMetadata:@{}];
//    
//    va_end(args);
//}
//
//-(void) warn: (NSString*) text, ...
//{
//    va_list args;
//    va_start(args, text);
//    
//    [OCLogger logWithLevel:OCLogger_WARN andPackage:self.package andText:text andVariableArguments:args andSkipLevelCheck:NO andTimestamp:[NSDate date] andMetadata:@{}];
//    
//    va_end(args);
//}
//
//-(void) error: (NSString*) text, ...
//{
//    va_list args;
//    va_start(args, text);
//    
//    [OCLogger logWithLevel:OCLogger_ERROR andPackage:self.package andText:text andVariableArguments:args andSkipLevelCheck:NO andTimestamp:[NSDate date] andMetadata:@{}];
//    
//    va_end(args);
//}
//
//-(void) fatal: (NSString*) text, ...
//{
//    va_list args;
//    va_start(args, text);
//    
//    [OCLogger logWithLevel:OCLogger_FATAL andPackage:self.package andText:text andVariableArguments:args andSkipLevelCheck:NO andTimestamp:[NSDate date] andMetadata:@{}];
//    
//    va_end(args);
//}
//
//-(void) analytics: (NSString*) text, ...
//{
//    va_list args;
//    va_start(args, text);
//    
//    [OCLogger logWithLevel:OCLogger_ANALYTICS andPackage:self.package andText:text andVariableArguments:args andSkipLevelCheck:NO andTimestamp:[NSDate date] andMetadata:@{}];
//    
//    va_end(args);
//}
//
//
//#pragma mark - Helper Functions
//
//+(OCLogType) getLevelType: (NSString*) level
//{
//    level = [level stringByReplacingOccurrencesOfString:@"_" withString:@""];
//    
//    OCLogType OCLevel;
//    level = [level uppercaseString];
//    
//    if ([level isEqualToString:TAG_LABEL_LOG]) {
//        OCLevel = OCLogger_LOG;
//    } else if([level isEqualToString:TAG_LABEL_INFO]) {
//        OCLevel = OCLogger_INFO;
//    } else if([level isEqualToString:TAG_LABEL_WARN]) {
//        OCLevel = OCLogger_WARN;
//    } else if([level isEqualToString:TAG_LABEL_ERROR]) {
//        OCLevel = OCLogger_ERROR;
//    } else if([level isEqualToString:TAG_LABEL_DEBUG]) {
//        OCLevel = OCLogger_DEBUG;
//    } else if([level isEqualToString:TAG_LABEL_TRACE]) {
//        OCLevel = OCLogger_TRACE;
//    }else if([level isEqualToString:TAG_LABEL_ANALYTICS]) {
//        OCLevel = OCLogger_ANALYTICS;
//    }else{
//        OCLevel = OCLogger_FATAL;
//    }
//    
//    return OCLevel;
//}
//
//+(NSString*) getDocumentPath:(NSString*) fileName
//{
//    return [globalDocumentPath stringByAppendingPathComponent:fileName];
//}
//
//+(NSString*) getLevelTag:(OCLogType) level
//{
//    NSString* levelTag;
//    
//    switch (level) {
//    case OCLogger_LOG:
//        levelTag = TAG_LABEL_LOG;
//        break;
//        
//    case OCLogger_INFO:
//        levelTag = TAG_LABEL_INFO;
//        break;
//        
//    case OCLogger_WARN:
//        levelTag = TAG_LABEL_WARN;
//        break;
//        
//    case OCLogger_ERROR:
//        levelTag = TAG_LABEL_ERROR;
//        break;
//        
//    case OCLogger_DEBUG:
//        levelTag = TAG_LABEL_DEBUG;
//        break;
//        
//    case OCLogger_TRACE:
//        levelTag = TAG_LABEL_TRACE;
//        break;
//        
//    case OCLogger_ANALYTICS:
//        levelTag = TAG_LABEL_ANALYTICS;
//        break;
//        
//    default:
//        levelTag = TAG_LABEL_FATAL;
//        break;
//    }
//    
//    return [NSString stringWithFormat:@"%@", levelTag];
//}
//
//+(NSDictionary*) getDeviceInformation
//    {


public enum LogLevel: Int {
    
    case None, Analytics, Fatal, Error, Warn, Info, Debug
    
    var stringValue: String {
        get {
            switch self {
            case .None:
                return "NONE"
            case .Analytics:
                return "ANALYTICS"
            case .Fatal:
                return "FATAL"
            case .Error:
                return "ERROR"
            case .Warn:
                return "WARN"
            case .Info:
                return "INFO"
            case .Debug:
                return "DEBUG"
            }
        }
    }
}


