/*
- * Copyright (C) 2017 "IoT.bzh"
+ * Copyright (C) 2017-2019 "IoT.bzh"
* Author Sebastien Douheret <sebastien@iot.bzh>
*
* Licensed under the Apache License, Version 2.0 (the "License");
"path"
+ common "gerrit.automotivelinux.org/gerrit/src/xds/xds-common.git"
"github.com/Sirupsen/logrus"
"github.com/codegangsta/cli"
- common "github.com/iotbzh/xds-common/golib"
"github.com/joho/godotenv"
)
// Create logger
var log = logrus.New()
-var logFileInitial = "/tmp/xds-gdb.log"
+var logFileInitial = path.Join(os.TempDir(), "xds-gdb.log")
// Application details
const (
- appCopyright = "Copyright (C) 2017 IoT.bzh - Apache-2.0"
+ appCopyright = "Copyright (C) 2017-2019 IoT.bzh - Apache-2.0"
defaultLogLevel = "warning"
)
logFile = logFileInitial
fdL, err := os.OpenFile(logFileInitial, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0666)
if err != nil {
- msgErr := fmt.Sprintf("Cannot create log file %s", logFileInitial)
- exitError(syscall.EPERM, msgErr)
+ fmt.Printf("WARNING: Cannot create initial log file %s\n", logFileInitial)
+ log.Level = logrus.WarnLevel
+ } else {
+ log.Out = fdL
+ log.Level = logrus.DebugLevel
}
log.Formatter = &logrus.TextFormatter{}
- log.Out = fdL
- log.Level = logrus.DebugLevel
- agentURL = "localhost:8000"
+ agentURL = "localhost:8800"
logLevel = defaultLogLevel
// Create a new App instance
})
gdb.OnDisconnect(func(err error) {
- fmt.Println("Disconnection: ", err.Error())
+ errMsg := "\nXDS-Agent disconnected"
+ if err != nil {
+ fmt.Printf("%s: %v\n", errMsg, err.Error())
+ } else {
+ fmt.Println(errMsg)
+ }
+
exitChan <- exitResult{err, int(syscall.ESHUTDOWN)}
})
log.Debugf("Recv OUT: <%s>", stdout)
}
if stderr != "" {
- fmt.Fprintf(os.Stderr, "%s", stderr)
- log.Debugf("Recv ERR: <%s>", stderr)
+ // Filter-out ugly message (python error when cross gdb exited)
+ if !strings.Contains(stderr, "readline.write_history_file") &&
+ !(strings.Contains(stderr, "Traceback") && strings.Contains(stderr, "__exithandler")) {
+ fmt.Fprintf(os.Stderr, "%s", stderr)
+ log.Debugf("Recv ERR: <%s>", stderr)
+ } else {
+ log.Debugf("Recv ERR (FILTERED OUT): <%s>", stderr)
+ }
}
// Correctly report error about init file
time.Sleep(time.Millisecond * 200)
}
- gdb.Write(command + "\n")
log.Debugf("Send: <%v>", command)
+ gdb.Write(command + "\n")
}
log.Infof("Stdin scanner exit, close stdin (err=%v)", sc.Err())