Spaces:
Paused
Paused
File size: 711 Bytes
93d826e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | package notify
import (
"log"
"runtime/debug"
)
// this allows Plandex Cloud to inject error monitoring
// all non-streaming handlers are already wrapped with different logic, so this is only needed for errors in streaming handlers
type Severity int
const (
SeverityInfo Severity = iota
SeverityError
)
var NotifyErrFn func(severity Severity, data ...interface{})
func RegisterNotifyErrFn(fn func(severity Severity, data ...interface{})) {
NotifyErrFn = fn
}
func NotifyErr(severity Severity, data ...interface{}) {
defer func() {
if r := recover(); r != nil {
log.Printf("panic in NotifyErr: %v\n%s", r, debug.Stack())
}
}()
if NotifyErrFn != nil {
NotifyErrFn(severity, data...)
}
}
|