github.com/epsagon/epsagon-go@v1.39.0/example/mux_error/main.go (about)

     1  
     2  package main
     3  
     4  import (
     5  	"github.com/epsagon/epsagon-go/epsagon"
     6  	"github.com/epsagon/epsagon-go/wrappers/net/http"
     7  	"net/http"
     8  )
     9  
    10  
    11  func SetEpsagonConfig() *epsagon.Config {
    12  	appName := "simple-error-go"
    13  	token := ""
    14  	config := epsagon.NewTracerConfig(appName, token)
    15  	config.Debug = true
    16  	config.MetadataOnly = false
    17  	config.SendTimeout = "10s"
    18  
    19  	return config
    20  }
    21  
    22  
    23  func handler(res http.ResponseWriter, req *http.Request) {
    24  	println("/test pinged")
    25  	epsagon.Error("Unknown timezone", req.Context())
    26  	res.Write([]byte("Pong.\n"))
    27  }
    28  
    29  func main() {
    30  	config := SetEpsagonConfig()
    31  	serveMux := http.NewServeMux()
    32  	serveMux.HandleFunc(
    33  		"/test",
    34  		epsagonhttp.WrapHandleFunc(config, handler))
    35  	server := http.Server{
    36  		Addr: "localhost:8082",
    37  		Handler: serveMux,
    38  	}
    39  	err := server.ListenAndServe()
    40  	if err != nil {
    41  		panic(err)
    42  	}
    43  }