Star us on GitHub
Star
Menu

Logging in Go / Other Frameworks

Learn how to set up highlight.io Go log ingestion with logrus.

1

Set up your frontend highlight.io integration.

First, make sure you've followed the frontend getting started guide.

2

Call logrus methods while passing the request context.

The request context allows highlight to associate logs with the incoming frontend session and network request.

logrus.WithContext(ctx).WithField("user", "bob").Infof("hello, %s!", "world")
Copy
3

Call the Highlight logging SDK.

Use our SDK to configure logrus, and use it as normal.

package main import ( "context" "github.com/highlight/highlight/sdk/highlight-go" "github.com/highlight/highlight/sdk/highlight-go/log" "github.com/sirupsen/logrus" ) func main() { // setup the highlight SDK highlight.SetProjectID("<YOUR_PROJECT_ID>") highlight.Start( highlight.WithServiceName("my-app"), highlight.WithServiceVersion("git-sha"), ) defer highlight.Stop() // setup highlight logrus hook hlog.Init() // if you don't want to get stdout / stderr output, add the following uncommented // hlog.DisableOutput() // if in a request, provide context to associate logs with frontend sessions ctx := context.TODO() // send logs logrus.WithContext(ctx).WithField("hello", "world").Info("welcome to highlight.io") // send logs with a string message severity lvl, _ := logrus.ParseLevel("warn") logrus.WithContext(ctx).Log(lvl, "whoa there") }
Copy
4

Verify your backend logs are being recorded.

Visit the highlight logs portal and check that backend logs are coming in.