Backend: Error Monitoring
Go
Java
JS
Python
Ruby
Rust
Backend: Logging
Go
JS
Python
Ruby
Java
Rust
Hosting Providers
Backend: Tracing
Go
Node.js
Python
Rust
Native OpenTelemetry
Fullstack Frameworks
Overview
Self Host & Local Dev
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")
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")
}
4
Verify your backend logs are being recorded.
Visit the highlight logs portal and check that backend logs are coming in.