diff --git a/main.go b/main.go index a888da09..ca6ffdb0 100644 --- a/main.go +++ b/main.go @@ -31,11 +31,11 @@ func main() { sess.Register(modules.NewRestAPI(sess)) if err = sess.Start(); err != nil { - panic(err) + log.Fatal("%", err) } if err = sess.Run("events.stream on"); err != nil { - panic(err) + log.Fatal("%", err) } defer sess.Close() @@ -44,21 +44,21 @@ func main() { for _, cmd := range strings.Split(*sess.Options.Commands, ";") { cmd = strings.Trim(cmd, "\r\n\t ") if err = sess.Run(cmd); err != nil { - panic(err) + log.Fatal("%s", err) } } } if *sess.Options.Caplet != "" { if err = sess.RunCaplet(*sess.Options.Caplet); err != nil { - panic(err) + log.Fatal("%s", err) } } for sess.Active { line, err := sess.ReadLine() if err != nil { - panic(err) + log.Fatal("%s", err) } if line == "" || line[0] == '#' { diff --git a/net/net.go b/net/net.go index ac5a5e9a..757d1d60 100644 --- a/net/net.go +++ b/net/net.go @@ -47,6 +47,9 @@ func FindInterface(name string) (*Endpoint, error) { } if e != nil { + if len(e.HW) == 0 { + return nil, fmt.Errorf("Could not detect interface hardware address.") + } return e, nil } } diff --git a/session/events.go b/session/events.go index a184019d..47891f9f 100644 --- a/session/events.go +++ b/session/events.go @@ -111,12 +111,15 @@ func (p *EventPool) Log(level int, format string, args ...interface{}) { return } + message := fmt.Sprintf(format, args) + p.Add("sys.log", LogMessage{ level, - fmt.Sprintf(format, args...), + message, }) if level == FATAL { + fmt.Fprintf(os.Stderr, "%s\n", message) os.Exit(1) } }