syslog

package
v0.0.0-...-18f0be3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 1, 2021 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

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)
package main

import (
	"fmt"

	gosyslog "log/syslog"

	"github.com/jjggzz/kit/log"
	"github.com/jjggzz/kit/log/level"
	"github.com/jjggzz/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")
}
Output:

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL