}
private func configureLogger() {
- wgSetLogger { (level, tagCStr, msgCStr) in
+ wgSetLogger { (level, msgCStr) in
let logType: OSLogType
switch level {
case 0:
default:
logType = .default
}
- let tag = (tagCStr != nil) ? String(cString: tagCStr!) : ""
let msg = (msgCStr != nil) ? String(cString: msgCStr!) : ""
- os_log("wg log: %{public}s: %{public}s", log: OSLog.default, type: logType, tag, msg)
+ os_log("%{public}s", log: OSLog.default, type: logType, msg)
}
}
return len;
}
-void do_log(int level, const char *tag, const char *msg)
+void do_log(int level, const char *msg)
{
- printf("Log level %d for %s: %s", level, tag, msg);
+ printf("Log level %d: %s", level, msg);
}
int main(int argc, char *argv[])
// #include <stdlib.h>
// #include <sys/types.h>
-// static void callLogger(void *func, int level, const char *tag, const char *msg)
+// static void callLogger(void *func, int level, const char *msg)
// {
-// ((void(*)(int, const char *, const char *))func)(level, tag, msg);
+// ((void(*)(int, const char *))func)(level, msg);
// }
import "C"
if uintptr(loggerFunc) == 0 {
return 0, errors.New("No logger initialized")
}
- tag := C.CString("WireGuard/GoBackend/"+l.interfaceName)
- message := C.CString(string(p))
- C.callLogger(loggerFunc, l.level, tag, message)
- C.free(unsafe.Pointer(tag))
+ message := C.CString(l.interfaceName + ": " + string(p))
+ C.callLogger(loggerFunc, l.level, message)
C.free(unsafe.Pointer(message))
return len(p), nil
}
n := runtime.Stack(buf, true)
buf[n] = 0
if uintptr(loggerFunc) != 0 {
- tag := C.CString("WireGuard/GoBackend/Stacktrace")
- C.callLogger(loggerFunc, 0, tag, (*_Ctype_char)(unsafe.Pointer(&buf[0])))
- C.free(unsafe.Pointer(tag))
+ C.callLogger(loggerFunc, 0, (*_Ctype_char)(unsafe.Pointer(&buf[0])))
}
}
}
typedef struct { const char *p; size_t n; } gostring_t;
typedef ssize_t(*read_write_fn_t)(void *ctx, unsigned char *buf, size_t len);
-typedef void(*logger_fn_t)(int level, const char *tag, const char *msg);
+typedef void(*logger_fn_t)(int level, const char *msg);
extern void wgSetLogger(logger_fn_t logger_fn);
extern int wgTurnOn(gostring_t ifname, gostring_t settings, uint16_t mtu, read_write_fn_t read_fn, read_write_fn_t write_fn, void *ctx);
extern void wgTurnOff(int handle);