func()

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
}