github.com/chanxuehong/wechat@v0.0.0-20230222024006-36f0325263cd/mp/core/error_handler.go (about) 1 package core 2 3 import ( 4 "log" 5 "net/http" 6 "os" 7 ) 8 9 type ErrorHandler interface { 10 ServeError(http.ResponseWriter, *http.Request, error) 11 } 12 13 var DefaultErrorHandler ErrorHandler = ErrorHandlerFunc(defaultErrorHandlerFunc) 14 15 type ErrorHandlerFunc func(http.ResponseWriter, *http.Request, error) 16 17 func (fn ErrorHandlerFunc) ServeError(w http.ResponseWriter, r *http.Request, err error) { 18 fn(w, r, err) 19 } 20 21 var errorLogger = log.New(os.Stderr, "[WECHAT_ERROR] ", log.Ldate|log.Ltime|log.Lmicroseconds|log.Llongfile) 22 23 func defaultErrorHandlerFunc(w http.ResponseWriter, r *http.Request, err error) { 24 errorLogger.Output(3, err.Error()) 25 }