Improved Silly logging.
authorSebastien Douheret <sebastien.douheret@iot.bzh>
Tue, 5 Dec 2017 10:10:21 +0000 (11:10 +0100)
committerSebastien Douheret <sebastien.douheret@iot.bzh>
Tue, 5 Dec 2017 10:10:35 +0000 (11:10 +0100)
.vscode/settings.json
lib/xdsserver/sessions.go
lib/xdsserver/xdsserver.go

index 5a12530..ac5a7b6 100644 (file)
@@ -29,6 +29,6 @@
         "inotify", "Inot", "pname", "pkill", "sdkid", "CLOUDSYNC", "xdsagent",
         "gdbserver", "golib", "eows", "mfolders", "IFOLDER", "flds", "dflt",
         "stconfig", "reflectme", "franciscocpg", "crosssdk", "urfave", "EXEPATH",
-        "conv"
+        "conv", "Sillyf"
     ]
 }
index 61f2f26..f7ce846 100644 (file)
@@ -217,10 +217,8 @@ func (s *Sessions) monitorSessMap() {
                        s.Log.Debugln("Stop monitorSessMap")
                        return
                case <-time.After(sessionMonitorTime * time.Second):
-                       if s.LogLevelSilly {
-                               s.Log.Debugf("Sessions Map size: %d", len(s.sessMap))
-                               s.Log.Debugf("Sessions Map : %v", s.sessMap)
-                       }
+                               s.LogSillyf("Sessions Map size: %d", len(s.sessMap))
+                               s.LogSillyf("Sessions Map : %v", s.sessMap)
 
                        if len(s.sessMap) > maxSessions {
                                s.Log.Errorln("TOO MUCH sessions, cleanup old ones !")
index 33efa26..5079553 100644 (file)
@@ -43,6 +43,7 @@ type Context struct {
        Config        *xdsconfig.Config
        Log           *logrus.Logger
        LogLevelSilly bool
+       LogSillyf     func(format string, args ...interface{})
        SThg          *st.SyncThing
        SThgCmd       *exec.Cmd
        SThgInotCmd   *exec.Cmd
@@ -70,14 +71,22 @@ func NewXdsServer(cliCtx *cli.Context) *Context {
        }
        log.Formatter = &logrus.TextFormatter{}
 
+       // Support silly logging (printed on log.debug)
        sillyVal, sillyLog := os.LookupEnv("XDS_LOG_SILLY")
+       logSilly := sillyLog && sillyVal == "1"
+       sillyFunc := func(format string, args ...interface{}) {
+               if logSilly {
+                       log.Debugf("SILLY: "+format, args...)
+               }
+       }
 
        // Define default configuration
        ctx := Context{
                ProgName:      cliCtx.App.Name,
                Cli:           cliCtx,
                Log:           log,
-               LogLevelSilly: (sillyLog && sillyVal == "1"),
+               LogLevelSilly: logSilly,
+               LogSillyf:     sillyFunc,
                Exit:          make(chan os.Signal, 1),
        }