forked from I2P_Developers/i2p.i2p
89 lines
1.6 KiB
C
89 lines
1.6 KiB
C
//
|
|
// logger_c.h
|
|
// I2PLauncher
|
|
//
|
|
// Created by Mikal Villa on 30/09/2018.
|
|
// Copyright © 2018 The I2P Project. All rights reserved.
|
|
//
|
|
|
|
#ifndef logger_c_h
|
|
#define logger_c_h
|
|
|
|
#include "Logger.h"
|
|
#include "LoggerWorker.hpp"
|
|
|
|
/*
|
|
void genericLogger(int loglevel, va_list params) {
|
|
#ifdef __cplusplus
|
|
const char * paramArray[10];
|
|
int numParams = 0;
|
|
|
|
NSString* arg = nil;
|
|
while ((arg = va_arg(params, NSString *))) {
|
|
paramArray[numParams++] = [arg cStringUsingEncoding:[NSString defaultCStringEncoding]];
|
|
}
|
|
|
|
switch (loglevel) {
|
|
case 0:
|
|
MLOGF(ANNOYING) << params;
|
|
break;
|
|
case 1:
|
|
MLOGF(DEBUG) << params;
|
|
break;
|
|
case 2:
|
|
MLOGF(INFO) << params;
|
|
break;
|
|
case 3:
|
|
MLOGF(WARN) << params;
|
|
break;
|
|
default:
|
|
assert(false);
|
|
}
|
|
#endif
|
|
}
|
|
*/
|
|
|
|
inline void MLog(int loglevel, NSString* format, ...)
|
|
{
|
|
#ifdef __cplusplus
|
|
|
|
va_list vargs;
|
|
va_start(vargs, format);
|
|
NSString* formattedMessage = [[NSString alloc] initWithFormat:format arguments:vargs];
|
|
va_end(vargs);
|
|
|
|
NSString* message = formattedMessage;
|
|
|
|
switch (loglevel) {
|
|
case 0:
|
|
MLOG(ANNOYING) << [message UTF8String];
|
|
break;
|
|
case 1:
|
|
MLOG(DEBUG) << [message UTF8String];
|
|
break;
|
|
case 2:
|
|
MLOG(INFO) << [message UTF8String];
|
|
break;
|
|
case 3:
|
|
MLOG(WARN) << [message UTF8String];
|
|
break;
|
|
case 4:
|
|
MLOG(ERROR) << [message UTF8String];
|
|
break;
|
|
default:
|
|
#if DEBUG
|
|
assert(false);
|
|
#else
|
|
return;
|
|
#endif
|
|
}
|
|
|
|
#endif
|
|
}
|
|
|
|
|
|
|
|
#define MMLog(format_string,...) ((MLog(1, [NSString stringWithFormat:format_string,##__VA_ARGS__])))
|
|
|
|
#endif /* logger_c_h */
|