in galog_serial.go [67:94]
func (sb *SerialBackend) Log(entry *LogEntry) error {
config := &serial.Mode{
BaudRate: sb.opts.Baud,
}
port, err := serial.Open(sb.opts.Port, config)
if err != nil {
return fmt.Errorf("error opening serial port: %+v", err)
}
defer port.Close()
format := sb.config.Format(entry.Level)
message, err := entry.Format(format + "\n")
if err != nil {
return fmt.Errorf("failed to format log level: %+v", err)
}
nn, err := port.Write([]byte(message))
if err != nil {
return fmt.Errorf("failed to write log to serial: %+v", err)
}
if nn != len(message) {
return fmt.Errorf("failed to write the message, wrote %d bytes out of %d bytes", nn, len(message))
}
return nil
}