github.com/go-srvc/mods/logmod
go get github.com/go-srvc/mods/logmod@v0.1.4
README
logmod
Using logmod takes care of exporting logs to otel endpoint and flushing log buffers before the application exits.
package main
import (
"log/slog"
"time"
"github.com/go-srvc/mods/logmod"
"github.com/go-srvc/mods/tickermod"
"github.com/go-srvc/srvc"
)
func main() {
srvc.RunAndExit(
logmod.New(),
tickermod.New(
tickermod.WithInterval(5*time.Second),
tickermod.WithFunc(func() {
// Slog uses now otelslog bridge configured by logmod.
slog.Info("Hello, World!")
}),
),
)
}
Overview
Package logmod provides OpenTelemetry trace provider as a module.
Constants
const ErrMissingProvider = errStr("meter provider not set")const ID = "logmod"Types
type Opt
type Opt func(*Provider) errortype Provider
type Provider struct {
// contains filtered or unexported fields
}func (*Provider) ID
func (p *Provider) ID() stringfunc (*Provider) Init
func (p *Provider) Init() errorfunc (*Provider) Run
func (p *Provider) Run() errorfunc (*Provider) Stop
func (p *Provider) Stop() errorExamples
ExampleNew
package main
import (
"github.com/go-srvc/mods/logmod"
"github.com/go-srvc/srvc"
)
func main() {
srvc.RunAndExit(
logmod.New(),
)
}