echo
Learn how to set up highlight.io on your Go Echo backend.
Add `tracingOrigins` to your client Highlight snippet.
This backend SDK requires one of the Highlight frontend SDKs to be installed, so please make sure you've followed the fullstack mapping guide first.
H.init("<YOUR_PROJECT_ID>", {
tracingOrigins: ['localhost', 'example.myapp.com/backend'],
networkRecording: {
enabled: true,
recordHeadersAndBody: true,
},
});
Install the Highlight Go SDK.
Install the highlight-go
package with go get
.
go get -u github.com/highlight/highlight/sdk/highlight-go
Initialize the Highlight Go SDK.
highlight.Start
starts a goroutine for recording and sending backend traces and errors. Setting your project id lets Highlight record errors for background tasks and processes that aren't associated with a frontend session.
import (
"github.com/highlight/highlight/sdk/highlight-go"
)
func main() {
// ...
highlight.SetProjectID("<YOUR_PROJECT_ID>")
highlight.Start(
highlight.WithServiceName("my-app"),
highlight.WithServiceVersion("git-sha"),
)
defer highlight.Stop()
// ...
}
Add the Highlight Echo error handler.
highlightEcho.Middleware()
provides a Go Echo middleware to automatically record and send errors to Highlight.
import (
highlightEcho "github.com/highlight/highlight/sdk/highlight-go/middleware/echo"
)
func main() {
// ...
e := echo.New()
e.Use(highlightEcho.Middleware())
// ...
}
Record custom errors. (optional)
If you want to explicitly send an error to Highlight, you can use the highlight.RecordError
method.
highlight.RecordError(ctx, err, attribute.String("key", "value"))
Verify your errors are being recorded.
Now that you've set up the Middleware, verify that the backend error handling works by consuming an error from your handler. This is as easy as having a route handler return an error.
Set up logging.
Start sending logs to Highlight! Follow the logging setup guide to get started.