1
// +build !windows,!plan9
10
// SyslogHandler opens a connection to the system syslog daemon by calling
11
// syslog.New and writes all records to it.
12
func SyslogHandler(tag string, fmtr Format) (Handler, error) {
13
wr, err := syslog.New(syslog.LOG_INFO, tag)
14
return sharedSyslog(fmtr, wr, err)
17
// SyslogHandler opens a connection to a log daemon over the network and writes
18
// all log records to it.
19
func SyslogNetHandler(net, addr string, tag string, fmtr Format) (Handler, error) {
20
wr, err := syslog.Dial(net, addr, syslog.LOG_INFO, tag)
21
return sharedSyslog(fmtr, wr, err)
24
func sharedSyslog(fmtr Format, sysWr *syslog.Writer, err error) (Handler, error) {
28
h := FuncHandler(func(r *Record) error {
29
var syslogFn = sysWr.Info
36
syslogFn = sysWr.Warning
40
syslogFn = sysWr.Debug
43
s := strings.TrimSpace(string(fmtr.Format(r)))
46
return LazyHandler(&closingHandler{sysWr, h}), nil
49
func (m muster) SyslogHandler(tag string, fmtr Format) Handler {
50
return must(SyslogHandler(tag, fmtr))
53
func (m muster) SyslogNetHandler(net, addr string, tag string, fmtr Format) Handler {
54
return must(SyslogNetHandler(net, addr, tag, fmtr))