in galog_syslog_linux.go [64:92]
func (sb *SyslogBackend) writeEntry(entry *LogEntry) error {
writer, err := syslog.New(syslog.LOG_DAEMON|syslog.LOG_INFO, sb.ident)
if err != nil {
return fmt.Errorf("opening syslog: %v", err)
}
defer writer.Close()
format := sb.config.Format(entry.Level)
message, err := entry.Format(format)
if err != nil {
return fmt.Errorf("formating syslog message: %v", err)
}
ops := map[Level]func(string) error{
DebugLevel: writer.Debug,
InfoLevel: writer.Info,
WarningLevel: writer.Warning,
ErrorLevel: writer.Err,
FatalLevel: writer.Crit,
}
if ptr, found := ops[entry.Level]; found {
if err := ptr(message); err != nil {
return fmt.Errorf("writing to syslog: %v", err)
}
}
return nil
}