Fix logfile setting 44/20944/1
authorSebastien Douheret <sebastien.douheret@iot.bzh>
Fri, 8 Mar 2019 14:08:36 +0000 (15:08 +0100)
committerSebastien Douheret <sebastien.douheret@iot.bzh>
Mon, 8 Apr 2019 20:10:51 +0000 (22:10 +0200)
Logic to set logs file is:
 - default 'stdout' (logfile option default value)
 - else use file (or filepath) set by --logfile option
 - else use LogsDir field of config file

Change-Id: I980e095d97cb06774fd03921ccae6e176af91984
Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
lib/xdsconfig/config.go

index ef94f0a..16390ae 100644 (file)
@@ -112,11 +112,18 @@ func Init(ctx *cli.Context, log *logrus.Logger) (*Config, error) {
        // Handle where Logs are redirected:
        //  default 'stdout' (logfile option default value)
        //  else use file (or filepath) set by --logfile option
-       //  that may be overwritten by LogsDir field of config file
+       //  else use LogsDir field of config file
        logF := c.Options.LogFile
        logD := c.FileConf.LogsDir
        if logF != "stdout" {
-               if logD != "" {
+               if logF != "" {
+                       if common.IsDir(logF) {
+                               logD = logF
+                               logF = filepath.Join(logF, "xds-agent.log")
+                       } else {
+                               logD = filepath.Dir(logF)
+                       }
+               } else if logD != "" {
                        lf := filepath.Base(logF)
                        if lf == "" || lf == "." {
                                lf = "xds-agent.log"