Documentation ¶
Overview ¶
The syslog package provides a syslog client.
Unlike the core log/syslog package it uses the newer rfc5424 syslog protocol, reliably reconnects on failure, and supports TLS encrypted TCP connections.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrPriority = fmt.Errorf("Not a designated priority")
Returned when looking up a non-existant facility or severity
Functions ¶
This section is empty.
Types ¶
type Logger ¶
type Logger struct { ErrorsCount int64 SentCount int64 AvgWriteTime time.Duration Packets chan Packet Errors chan error ClientHostname string // contains filtered or unexported fields }
A Logger is a connection to a syslog server. It reconnects on error. Clients log by sending a Packet to the logger.Packets channel.
func Dial ¶
func Dial(clientHostname, network, raddr string, rootCAs *x509.CertPool, connectTimeout time.Duration, writeTimeout time.Duration, tcpMaxLineLength int) (*Logger, error)
Dial connects to the syslog server at raddr, using the optional certBundle, and launches a goroutine to watch logger.Packets for messages to log.
type Packet ¶
type Packet struct { Severity Priority Facility Priority Hostname string Tag string Time time.Time Message string }
A Packet represents an RFC5425 syslog message
type Priority ¶
type Priority int
A Syslog Priority is a combination of Severity and Facility.
RFC5424 Severities
const ( LogKern Priority = iota LogUser LogMail LogDaemon LogAuth LogSyslog LogLPR LogNews LogUUCP LogCron LogAuthPriv LogFTP LogNTP LogAudit LogAlert LogAt LogLocal0 LogLocal1 LogLocal2 LogLocal3 LogLocal4 LogLocal5 LogLocal6 LogLocal7 )
RFC5424 Facilities