recovery/recovery.go
func LogOnPanic(id int64, err interface{}, stacktrace []string, _ *http.Request) {
	logMutex.Lock()
	defer logMutex.Unlock()

	log.Printf("panic=%016x message=%v\n", id, err)
	for _, line := range stacktrace {
		log.Printf("panic=%016x %s", id, line)
	}
}
func LogOnPanic(id int64, err interface{}, stacktrace []string, _ *http.Request) {
	logMutex.Lock()
	defer logMutex.Unlock()

	log.Printf("panic=%016x message=%v\n", id, err)
	for _, line := range stacktrace {
		log.Printf("panic=%016x %s", id, line)
	}
}
func LogOnPanic ( id int64 , err interface { } , stacktrace [ ] string , _ * http . Request ) { logMutex . Lock ( ) defer logMutex . Unlock ( ) log . Printf ( " \n " , id , err ) for _ , line := range stacktrace { log . Printf ( " " , id , line ) } }
// LogOnPanic logs the given panic and its stacktrace, prefixing each line with
// the panic ID.
LogOnPanic logs the given panic and its stacktrace prefixing each line with the panic ID .