Documentation
¶
Overview ¶
Example ¶
package main
import (
"fmt"
"log/slog"
"os"
"time"
slogpushover "github.com/SkYNewZ/slog-pushover"
)
func main() {
handler := slogpushover.NewHandler(&slogpushover.Options{
Level: slog.LevelDebug,
Token: os.Getenv("PUSHOVER_TOKEN"),
Recipient: os.Getenv("PUSHOVER_RECIPIENT"),
Message: nil,
Converter: nil,
AddSource: true,
ReplaceAttr: nil,
})
logger := slog.New(handler)
logger = logger.With("release", "v1.0.0")
logger.
With(
slog.Group("user",
slog.String("id", "user-123"),
slog.Time("created_at", time.Now().AddDate(0, 0, -1)),
),
).
With("environment", "dev").
With("error", fmt.Errorf("an error")).
Error("A message")
}
Output:
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultConverter ¶
func DefaultConverter(addSource bool, replaceAttr func(groups []string, a slog.Attr) slog.Attr, loggerAttr []slog.Attr, groups []string, record *slog.Record) string
DefaultConverter is the default Converter used by Handler.
func NewHandler ¶
NewHandler creates a new slog.Handler that sends messages to Pushover.
Types ¶
type Converter ¶
type Converter func(addSource bool, replaceAttr func(groups []string, a slog.Attr) slog.Attr, loggerAttr []slog.Attr, groups []string, record *slog.Record) string
Converter is a function that converts a slog.Record to a string.
type Options ¶
type Options struct {
Level slog.Leveler // minimum level of messages to log (default: slog.LevelDebug)
Token string // Pushover application token
Recipient string // Pushover user/group key
Message *pushover.Message // optional: customize Pushover message. 'Message' will be replaced by the log message
Converter Converter // optional: customize Pushover message builder
// optional: see slog.HandlerOptions
AddSource bool
ReplaceAttr func(groups []string, a slog.Attr) slog.Attr
}
Click to show internal directories.
Click to hide internal directories.