From 6db702857d3452b69618f31edaf854774cdd4e29 Mon Sep 17 00:00:00 2001 From: Jono Wenger <jono@elixxir.io> Date: Fri, 6 Jan 2023 15:01:18 -0800 Subject: [PATCH] Add logging control to workers --- indexedDb/channels/channelsIndexedDbWorker.js | 1 + indexedDb/channels/main.go | 14 +++++++++++++- indexedDb/dm/dmIndexedDbWorker.js | 1 + indexedDb/dm/main.go | 14 +++++++++++++- indexedDbWorker/worker.go | 3 +++ 5 files changed, 31 insertions(+), 2 deletions(-) diff --git a/indexedDb/channels/channelsIndexedDbWorker.js b/indexedDb/channels/channelsIndexedDbWorker.js index 6126eec5..198ab729 100644 --- a/indexedDb/channels/channelsIndexedDbWorker.js +++ b/indexedDb/channels/channelsIndexedDbWorker.js @@ -11,6 +11,7 @@ const go = new Go(); const binPath = 'xxdk-channelsIndexedDkWorker.wasm' WebAssembly.instantiateStreaming(fetch(binPath), go.importObject).then((result) => { go.run(result.instance); + LogLevel(2); }).catch((err) => { console.error(err); }); \ No newline at end of file diff --git a/indexedDb/channels/main.go b/indexedDb/channels/main.go index e8f62798..f89c42b7 100644 --- a/indexedDb/channels/main.go +++ b/indexedDb/channels/main.go @@ -13,13 +13,25 @@ import ( "fmt" jww "github.com/spf13/jwalterweatherman" "gitlab.com/elixxir/xxdk-wasm/indexedDb" + "gitlab.com/elixxir/xxdk-wasm/wasm" + "syscall/js" ) +func init() { + // Set up Javascript console listener set at level INFO + ll := wasm.NewJsConsoleLogListener(jww.LevelInfo) + jww.SetLogListeners(ll.Listen) + jww.SetStdoutThreshold(jww.LevelFatal + 1) +} + func main() { fmt.Println("[WW] Starting xxDK WebAssembly Channels Database Worker.") - jww.SetStdoutThreshold(jww.LevelDebug) jww.INFO.Print("[WW] Starting xxDK WebAssembly Channels Database Worker.") + js.Global().Set("LogLevel", js.FuncOf(wasm.LogLevel)) + js.Global().Set("LogToFile", js.FuncOf(wasm.LogToFile)) + js.Global().Set("RegisterLogWriter", js.FuncOf(wasm.RegisterLogWriter)) + m := &manager{mh: indexedDb.NewMessageHandler("ChannelsIndexedDbWorker")} m.RegisterHandlers() m.mh.SignalReady() diff --git a/indexedDb/dm/dmIndexedDbWorker.js b/indexedDb/dm/dmIndexedDbWorker.js index 100e6acb..67378654 100644 --- a/indexedDb/dm/dmIndexedDbWorker.js +++ b/indexedDb/dm/dmIndexedDbWorker.js @@ -11,6 +11,7 @@ const go = new Go(); const binPath = 'xxdk-dmIndexedDkWorker.wasm' WebAssembly.instantiateStreaming(fetch(binPath), go.importObject).then((result) => { go.run(result.instance); + LogLevel(2); }).catch((err) => { console.error(err); }); \ No newline at end of file diff --git a/indexedDb/dm/main.go b/indexedDb/dm/main.go index 6a250275..f6a507b3 100644 --- a/indexedDb/dm/main.go +++ b/indexedDb/dm/main.go @@ -13,13 +13,25 @@ import ( "fmt" jww "github.com/spf13/jwalterweatherman" "gitlab.com/elixxir/xxdk-wasm/indexedDb" + "gitlab.com/elixxir/xxdk-wasm/wasm" + "syscall/js" ) +func init() { + // Set up Javascript console listener set at level INFO + ll := wasm.NewJsConsoleLogListener(jww.LevelInfo) + jww.SetLogListeners(ll.Listen) + jww.SetStdoutThreshold(jww.LevelFatal + 1) +} + func main() { fmt.Println("[WW] Starting xxDK WebAssembly DM Database Worker.") - jww.SetStdoutThreshold(jww.LevelDebug) jww.INFO.Print("[WW] Starting xxDK WebAssembly DM Database Worker.") + js.Global().Set("LogLevel", js.FuncOf(wasm.LogLevel)) + js.Global().Set("LogToFile", js.FuncOf(wasm.LogToFile)) + js.Global().Set("RegisterLogWriter", js.FuncOf(wasm.RegisterLogWriter)) + m := &manager{mh: indexedDb.NewMessageHandler("DmIndexedDbWorker")} m.RegisterHandlers() m.mh.SignalReady() diff --git a/indexedDbWorker/worker.go b/indexedDbWorker/worker.go index d34b09d1..6151f799 100644 --- a/indexedDbWorker/worker.go +++ b/indexedDbWorker/worker.go @@ -22,6 +22,9 @@ import ( // TODO: // 1. Fix ID counter // 2. Use transfer list when sending +// 3. Get path to JS file from bindings +// 4. restructure packages +// 5. fix tag system // InitID is the ID for the first item in the handler list. If the list only // contains one handler, then this is the ID of that handler. If the list has -- GitLab