Skip to content
Snippets Groups Projects

XX-4050 / Send E2E test

Merged Jono Wenger requested to merge XX-4050/sendE2eTest into release
1 file
+ 35
9
Compare changes
  • Side-by-side
  • Inline
+ 35
9
@@ -56,7 +56,7 @@ func LogLevel(_ js.Value, args []js.Value) interface{} {
jww.SetLogThreshold(threshold)
jww.SetFlags(log.LstdFlags | log.Lmicroseconds)
ll := &LogListener{threshold, js.Global().Get("console")}
ll := NewLogListener(threshold, js.Global().Get("console"))
logListeners = append(logListeners, ll.Listen)
jww.SetLogListeners(logListeners...)
jww.SetStdoutThreshold(jww.LevelFatal + 1)
@@ -184,6 +184,32 @@ func (c *console) Write(p []byte) (n int, err error) {
type LogListener struct {
jww.Threshold
js.Value
trace *console
debug *console
info *console
error *console
warn *console
critical *console
fatal *console
def *console
}
// NewLogListener initialises a new log listener that listener for the specific
// threshold and prints the logs to the Javascript console.
func NewLogListener(threshold jww.Threshold, consoleObj js.Value) *LogListener {
return &LogListener{
Threshold: threshold,
Value: consoleObj,
trace: &console{"debug", consoleObj},
debug: &console{"log", consoleObj},
info: &console{"info", consoleObj},
warn: &console{"warn", consoleObj},
error: &console{"error", consoleObj},
critical: &console{"error", consoleObj},
fatal: &console{"error", consoleObj},
def: &console{"log", consoleObj},
}
}
// Listen is called for every logging event. This function adheres to the
@@ -195,21 +221,21 @@ func (ll *LogListener) Listen(t jww.Threshold) io.Writer {
switch t {
case jww.LevelTrace:
return &console{"debug", ll.Value}
return ll.trace
case jww.LevelDebug:
return &console{"log", ll.Value}
return ll.debug
case jww.LevelInfo:
return &console{"info", ll.Value}
return ll.info
case jww.LevelWarn:
return &console{"warn", ll.Value}
return ll.warn
case jww.LevelError:
return &console{"error", ll.Value}
return ll.error
case jww.LevelCritical:
return &console{"error", ll.Value}
return ll.critical
case jww.LevelFatal:
return &console{"error", ll.Value}
return ll.fatal
default:
return &console{"log", ll.Value}
return ll.def
}
}
Loading