package syslog

import "github.com/go-kit/log/syslog"

Package syslog provides a Logger that writes to syslog.

Index

Examples

Functions

func NewSyslogLogger

func NewSyslogLogger(w SyslogWriter, newLogger func(io.Writer) log.Logger, options ...Option) log.Logger

NewSyslogLogger returns a new Logger which writes to syslog in syslog format. The body of the log message is the formatted output from the Logger returned by newLogger.

Example (DefaultPrioritySelector)

Code:play 

package main

import (
	"fmt"

	gosyslog "log/syslog"

	"github.com/go-kit/log"
	"github.com/go-kit/log/level"
	"github.com/go-kit/log/syslog"
)

func main() {
	// Normal syslog writer
	w, err := gosyslog.New(gosyslog.LOG_INFO, "experiment")
	if err != nil {
		fmt.Println(err)
		return
	}

	// syslog logger with logfmt formatting
	logger := syslog.NewSyslogLogger(w, log.NewLogfmtLogger)
	logger.Log("msg", "info because of default")
	logger.Log(level.Key(), level.DebugValue(), "msg", "debug because of explicit level")
}

Types

type Option

type Option func(*syslogLogger)

Option sets a parameter for syslog loggers.

func PrioritySelectorOption

func PrioritySelectorOption(selector PrioritySelector) Option

PrioritySelectorOption sets priority selector function to choose syslog priority.

type PrioritySelector

type PrioritySelector func(keyvals ...interface{}) gosyslog.Priority

PrioritySelector inspects the list of keyvals and selects a syslog priority.

type SyslogWriter

type SyslogWriter interface {
	Write([]byte) (int, error)
	Close() error
	Emerg(string) error
	Alert(string) error
	Crit(string) error
	Err(string) error
	Warning(string) error
	Notice(string) error
	Info(string) error
	Debug(string) error
}

SyslogWriter is an interface wrapping stdlib syslog Writer.

Source Files

syslog.go

Version
v0.2.1 (latest)
Published
Apr 27, 2022
Platform
js/wasm
Imports
6 packages
Last checked
8 hours ago

Tools for package owners.