Go SDK

Go logging
built for performance

Add powerful, centralized logging to your Go applications in minutes. Idiomatic API, beautiful console output, and seamless cloud sync.

Go 1.21+
Zero config
terminal
$go get github.com/loggy-dev/loggy-go
go: added github.com/loggy-dev/loggy-go v1.0.0
$ go run main.go
[12:34:56] INFO Server started on :8080
[12:34:57] INFO Request handled {method: GET, path: /api}
[12:34:58] WARN Connection pool near capacity
[12:34:59] Synced to Loggy cloud
W3C Trace Context
Real-time sync

Get started in 3 steps

From go get to production-ready logging in under a minute

1

Install the SDK

$ go get github.com/loggy-dev/loggy-go
2

Initialize Loggy

import loggy "github.com/loggy-dev/loggy-go"
logger := loggy. New (loggy.Config{
Remote: &loggy.RemoteConfig{
Token: "your-token"
},
})
3

Start logging

logger . Info ( "Hello world!" , nil)
logger . Warn ( "Watch out" , nil)
logger . Error ( "Oops!" , map[string]interface{}{...})

Built for Go developers

Everything you need for production-grade logging

High Performance

Minimal allocations, efficient batching. Built for high-throughput Go applications.

Distributed Tracing

W3C Trace Context support. Track requests across your microservices with ease.

HTTP Middleware

Drop-in middleware for tracing, metrics, and logging. Works with net/http and popular routers.

Batched Uploads

Logs are batched and sent efficiently. Configurable batch size and flush intervals.

Beautiful Console

Colored, formatted output locally. Timestamps, levels, and metadata beautifully displayed.

Structured Metadata

Attach any map[string]interface{} to logs. Search and filter by any field in the dashboard.

Works with your stack

net/http, Gin, Echo, Chi, Fiber, or any Go HTTP framework — Loggy integrates seamlessly.

HTTP middleware support
Context propagation
Goroutine safe
Go 1.21+ compatible
// HTTP server example
package main
import (
"net/http"
"os"
loggy "github.com/loggy-dev/loggy-go"
)
func main() {
logger := loggy.New(loggy.Config{
Remote: &loggy.RemoteConfig{
Token: os.Getenv("LOGGY_TOKEN"),
},
})
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
logger.Info("Request received", map[string]interface{}{...})
w.Write([]byte("Hello!"))
})
http.ListenAndServe(":8080", nil)
}

Why developers choose Loggy

Compared to other Go logging solutions

Feature Loggy Zap Logrus Zerolog
Cloud Dashboard
Distributed Tracing
Real-time Streaming
HTTP Middleware ~ ~ ~
Zero Config
Alerting
Newsletter

Go tips & tutorials

Get the latest Go logging best practices, performance tips, and Loggy updates delivered to your inbox.

No spam, unsubscribe anytime. We respect your privacy.

Ready to level up your Go logging?

Start for free. No credit card required.