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  }