log.go
func Recover(notexit bool) {
	if r := recover(); r != nil {
		buf := make([]byte, RecoverBufferStack)
		n := runtime.Stack(buf, true)
		buf = buf[:n]
		Log.GoPanic(r, buf, notexit)
	}
}
func Recover(notexit bool) {
	if r := recover(); r != nil {
		buf := make([]byte, RecoverBufferStack)
		n := runtime.Stack(buf, true)
		buf = buf[:n]
		Log.GoPanic(r, buf, notexit)
	}
}
// Recover from panic and log the stack. If notexit is false, call os.Exit(1),
// if not continue.