Skip to content

log handler for sending structured logs to Seq using Go's slog packeage

License

Notifications You must be signed in to change notification settings

swczk/go-seqlogger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Seq Logger

Overview

go-seqlogger is a custom log handler for sending structured logs to Seq using Go's slog package.

Installation

go get github.com/swczk/go-seqlogger

Usage

Basic Configuration

import (
    "log/slog"
    "github.com/swczk/go-seqlogger"
)

// Create default configuration
config := seqlogger.DefaultConfig("http://seq-example:5341").
    WithAPIKey("your-api-key").
    WithLogLevel(slog.LevelInfo).
    WithSourceTracking().
    WithRequestIDKey("request-id")

// Create logger
logger := seqlogger.New(config)

// Log messages
logger.Info("User logged in", "user_id", 123)
logger.Error("Failed to process request", "error", err)

// Logging with JSON data
logger.Info("User registration",
    "user", `{"id": 123, "name": "John Doe", "details": {"age": 30, "city": "New York"}}`,
    "registration_source", "web"
)

Configuration Options

  • Endpoint: Seq server URL
  • APIKey: Authentication key for Seq
  • LogLevel: Minimum log level to send
  • AddSource: Include source code location
  • RequestIDKey: Context key for request tracing

Features

  • Structured logging
  • Seq CLEF format compatibility
  • Configurable log levels
  • Source code tracking
  • Request ID injection

License

MIT License

About

log handler for sending structured logs to Seq using Go's slog packeage

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages