srslog: github.com/RackSec/srslog Index | Files

package srslog

import "github.com/RackSec/srslog"

Index

Package Files

constants.go dialer.go formatter.go framer.go net_conn.go srslog.go srslog_unix.go writer.go

Variables

var ErrNilDialFunc = errors.New("srslog: nil DialFunc passed to DialWithCustomDialer")

ErrNilDialFunc is returned from DialWithCustomDialer when a nil DialFunc is passed, avoiding a nil pointer deference panic.

func DefaultFormatter Uses

func DefaultFormatter(p Priority, hostname, tag, content string) string

DefaultFormatter is the original format supported by the Go syslog package, and is a non-compliant amalgamation of 3164 and 5424 that is intended to maximize compatibility.

func DefaultFramer Uses

func DefaultFramer(in string) string

DefaultFramer does nothing, since there is no framing to apply. This is the original behavior of the Go syslog package, and is also typically used for UDP syslog.

func NewLogger Uses

func NewLogger(p Priority, logFlag int) (*log.Logger, error)

NewLogger creates a log.Logger whose output is written to the system log service with the specified priority. The logFlag argument is the flag set passed through to log.New to create the Logger.

func RFC3164Formatter Uses

func RFC3164Formatter(p Priority, hostname, tag, content string) string

RFC3164Formatter provides an RFC 3164 compliant message.

func RFC5424Formatter Uses

func RFC5424Formatter(p Priority, hostname, tag, content string) string

RFC5424Formatter provides an RFC 5424 compliant message.

func RFC5425MessageLengthFramer Uses

func RFC5425MessageLengthFramer(in string) string

RFC5425MessageLengthFramer prepends the message length to the front of the provided message, as defined in RFC 5425.

func UnixFormatter Uses

func UnixFormatter(p Priority, hostname, tag, content string) string

UnixFormatter omits the hostname, because it is only used locally.

type DialFunc Uses

type DialFunc func(string, string) (net.Conn, error)

DialFunc is the function signature to be used for a custom dialer callback with DialWithCustomDialer

type Formatter Uses

type Formatter func(p Priority, hostname, tag, content string) string

Formatter is a type of function that takes the consituent parts of a syslog message and returns a formatted string. A different Formatter is defined for each different syslog protocol we support.

type Framer Uses

type Framer func(in string) string

Framer is a type of function that takes an input string (typically an already-formatted syslog message) and applies "message framing" to it. We have different framers because different versions of the syslog protocol and its transport requirements define different framing behavior.

type Priority Uses

type Priority int

Priority is a combination of the syslog facility and severity. For example, LOG_ALERT | LOG_FTP sends an alert severity message from the FTP facility. The default severity is LOG_EMERG; the default facility is LOG_KERN.

const (

    // From /usr/include/sys/syslog.h.
    // These are the same on Linux, BSD, and OS X.
    LOG_EMERG Priority = iota
    LOG_ALERT
    LOG_CRIT
    LOG_ERR
    LOG_WARNING
    LOG_NOTICE
    LOG_INFO
    LOG_DEBUG
)
const (

    // From /usr/include/sys/syslog.h.
    // These are the same up to LOG_FTP on Linux, BSD, and OS X.
    LOG_KERN Priority = iota << 3
    LOG_USER
    LOG_MAIL
    LOG_DAEMON
    LOG_AUTH
    LOG_SYSLOG
    LOG_LPR
    LOG_NEWS
    LOG_UUCP
    LOG_CRON
    LOG_AUTHPRIV
    LOG_FTP

    LOG_LOCAL0
    LOG_LOCAL1
    LOG_LOCAL2
    LOG_LOCAL3
    LOG_LOCAL4
    LOG_LOCAL5
    LOG_LOCAL6
    LOG_LOCAL7
)

type Writer Uses

type Writer struct {
    // contains filtered or unexported fields
}

A Writer is a connection to a syslog server.

func Dial Uses

func Dial(network, raddr string, priority Priority, tag string) (*Writer, error)

Dial establishes a connection to a log daemon by connecting to address raddr on the specified network. Each write to the returned Writer sends a log message with the given facility, severity and tag. If network is empty, Dial will connect to the local syslog server.

func DialWithCustomDialer Uses

func DialWithCustomDialer(network, raddr string, priority Priority, tag string, customDial DialFunc) (*Writer, error)

DialWithCustomDialer establishes a connection by calling customDial. Each write to the returned Writer sends a log message with the given facility, severity and tag. Network must be "custom" in order for this package to use customDial. While network and raddr will be passed to customDial, it is allowed for customDial to ignore them. If customDial is nil, this function returns ErrNilDialFunc.

func DialWithTLSCert Uses

func DialWithTLSCert(network, raddr string, priority Priority, tag string, serverCert []byte) (*Writer, error)

DialWIthTLSCert establishes a secure connection to a log daemon by connecting to address raddr on the specified network. It uses serverCert to load a TLS certificate and configure the secure connection.

func DialWithTLSCertPath Uses

func DialWithTLSCertPath(network, raddr string, priority Priority, tag, certPath string) (*Writer, error)

DialWithTLSCertPath establishes a secure connection to a log daemon by connecting to address raddr on the specified network. It uses certPath to load TLS certificates and configure the secure connection.

func DialWithTLSConfig Uses

func DialWithTLSConfig(network, raddr string, priority Priority, tag string, tlsConfig *tls.Config) (*Writer, error)

DialWithTLSConfig establishes a secure connection to a log daemon by connecting to address raddr on the specified network. It uses tlsConfig to configure the secure connection.

func New Uses

func New(priority Priority, tag string) (w *Writer, err error)

New establishes a new connection to the system log daemon. Each write to the returned Writer sends a log message with the given priority and prefix.

func (*Writer) Alert Uses

func (w *Writer) Alert(m string) (err error)

Alert logs a message with severity LOG_ALERT; this overrides the default priority passed to `srslog.New` and the `srslog.Dial*` functions.

func (*Writer) Close Uses

func (w *Writer) Close() error

Close closes a connection to the syslog daemon.

func (*Writer) Crit Uses

func (w *Writer) Crit(m string) (err error)

Crit logs a message with severity LOG_CRIT; this overrides the default priority passed to `srslog.New` and the `srslog.Dial*` functions.

func (*Writer) Debug Uses

func (w *Writer) Debug(m string) (err error)

Debug logs a message with severity LOG_DEBUG; this overrides the default priority passed to `srslog.New` and the `srslog.Dial*` functions.

func (*Writer) Emerg Uses

func (w *Writer) Emerg(m string) (err error)

Emerg logs a message with severity LOG_EMERG; this overrides the default priority passed to `srslog.New` and the `srslog.Dial*` functions.

func (*Writer) Err Uses

func (w *Writer) Err(m string) (err error)

Err logs a message with severity LOG_ERR; this overrides the default priority passed to `srslog.New` and the `srslog.Dial*` functions.

func (*Writer) Info Uses

func (w *Writer) Info(m string) (err error)

Info logs a message with severity LOG_INFO; this overrides the default priority passed to `srslog.New` and the `srslog.Dial*` functions.

func (*Writer) Notice Uses

func (w *Writer) Notice(m string) (err error)

Notice logs a message with severity LOG_NOTICE; this overrides the default priority passed to `srslog.New` and the `srslog.Dial*` functions.

func (*Writer) SetFormatter Uses

func (w *Writer) SetFormatter(f Formatter)

SetFormatter changes the formatter function for subsequent messages.

func (*Writer) SetFramer Uses

func (w *Writer) SetFramer(f Framer)

SetFramer changes the framer function for subsequent messages.

func (*Writer) SetHostname Uses

func (w *Writer) SetHostname(hostname string)

SetHostname changes the hostname for syslog messages if needed.

func (*Writer) Warning Uses

func (w *Writer) Warning(m string) (err error)

Warning logs a message with severity LOG_WARNING; this overrides the default priority passed to `srslog.New` and the `srslog.Dial*` functions.

func (*Writer) Write Uses

func (w *Writer) Write(b []byte) (int, error)

Write sends a log message to the syslog daemon using the default priority passed into `srslog.New` or the `srslog.Dial*` functions.

func (*Writer) WriteWithPriority Uses

func (w *Writer) WriteWithPriority(p Priority, b []byte) (int, error)

WriteWithPriority sends a log message with a custom priority.

Package srslog imports 12 packages (graph) and is imported by 250 packages. Updated 2018-07-09. Refresh now. Tools for package owners.