summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorSebastien Douheret <sebastien.douheret@iot.bzh>2017-10-16 17:54:11 +0200
committerSebastien Douheret <sebastien.douheret@iot.bzh>2017-11-06 15:57:04 +0100
commit17ab6663d5522bf4db3e6cce70352f8ba4379e99 (patch)
tree172403491a3c57a3da68447adb3e5dabf52a1d04 /lib
parent8119c1641e88ee5020e380c08119f508c6e24222 (diff)
Add silly log level support.
Silly logging is enable when: XDS_LOG_SILLY env var is set and log level is debug
Diffstat (limited to 'lib')
-rw-r--r--lib/apiv1/events.go4
-rw-r--r--lib/session/session.go32
-rw-r--r--lib/webserver/server.go6
3 files changed, 22 insertions, 20 deletions
diff --git a/lib/apiv1/events.go b/lib/apiv1/events.go
index b87486f..8f92ae0 100644
--- a/lib/apiv1/events.go
+++ b/lib/apiv1/events.go
@@ -112,8 +112,8 @@ func (s *APIService) eventsRegister(c *gin.Context) {
Folder: *cfg,
}
- s.log.Debugf("Event emit %s - ID=%s, Status=%s IsInSync=%v", EventEventType+evType, cfg.ID,
- cfg.Status, cfg.IsInSync)
+ s.log.Debugf("WS Emit %s - Status=%10s, IsInSync=%6v, ID=%s",
+ EventEventType+evType, cfg.Status, cfg.IsInSync, cfg.ID)
if err := (*so).Emit(EventEventType+evType, msg); err != nil {
s.log.Errorf("WS Emit Folder StateChanged event : %v", err)
diff --git a/lib/session/session.go b/lib/session/session.go
index d4e1ad3..60b7b8a 100644
--- a/lib/session/session.go
+++ b/lib/session/session.go
@@ -36,27 +36,29 @@ type ClientSession struct {
// Sessions holds client sessions
type Sessions struct {
- router *gin.Engine
- cookieMaxAge int64
- sessMap map[string]ClientSession
- mutex sync.Mutex
- log *logrus.Logger
- stop chan struct{} // signals intentional stop
+ router *gin.Engine
+ cookieMaxAge int64
+ sessMap map[string]ClientSession
+ mutex sync.Mutex
+ log *logrus.Logger
+ LogLevelSilly bool
+ stop chan struct{} // signals intentional stop
}
// NewClientSessions .
-func NewClientSessions(router *gin.Engine, log *logrus.Logger, cookieMaxAge string) *Sessions {
+func NewClientSessions(router *gin.Engine, log *logrus.Logger, cookieMaxAge string, sillyLog bool) *Sessions {
ckMaxAge, err := strconv.ParseInt(cookieMaxAge, 10, 0)
if err != nil {
ckMaxAge = 0
}
s := Sessions{
- router: router,
- cookieMaxAge: ckMaxAge,
- sessMap: make(map[string]ClientSession),
- mutex: sync.NewMutex(),
- log: log,
- stop: make(chan struct{}),
+ router: router,
+ cookieMaxAge: ckMaxAge,
+ sessMap: make(map[string]ClientSession),
+ mutex: sync.NewMutex(),
+ log: log,
+ LogLevelSilly: sillyLog,
+ stop: make(chan struct{}),
}
s.router.Use(s.Middleware())
@@ -197,15 +199,13 @@ func (s *Sessions) refresh(sid string) {
}
func (s *Sessions) monitorSessMap() {
- const dbgFullTrace = false // for debugging
-
for {
select {
case <-s.stop:
s.log.Debugln("Stop monitorSessMap")
return
case <-time.After(sessionMonitorTime * time.Second):
- if dbgFullTrace {
+ if s.LogLevelSilly {
s.log.Debugf("Sessions Map size: %d", len(s.sessMap))
s.log.Debugf("Sessions Map : %v", s.sessMap)
}
diff --git a/lib/webserver/server.go b/lib/webserver/server.go
index a2fdf6f..85a2c40 100644
--- a/lib/webserver/server.go
+++ b/lib/webserver/server.go
@@ -30,6 +30,7 @@ type Server struct {
mfolders *model.Folders
sdks *crosssdk.SDKs
log *logrus.Logger
+ sillyLog bool
stop chan struct{} // signals intentional stop
}
@@ -37,7 +38,7 @@ const indexFilename = "index.html"
const cookieMaxAge = "3600"
// New creates an instance of Server
-func New(cfg *xdsconfig.Config, mfolders *model.Folders, sdks *crosssdk.SDKs, logr *logrus.Logger) *Server {
+func New(cfg *xdsconfig.Config, mfolders *model.Folders, sdks *crosssdk.SDKs, logr *logrus.Logger, sillyLog bool) *Server {
// Setup logging for gin router
if logr.Level == logrus.DebugLevel {
@@ -66,6 +67,7 @@ func New(cfg *xdsconfig.Config, mfolders *model.Folders, sdks *crosssdk.SDKs, lo
mfolders: mfolders,
sdks: sdks,
log: logr,
+ sillyLog: sillyLog,
stop: make(chan struct{}),
}
@@ -83,7 +85,7 @@ func (s *Server) Serve() error {
s.router.Use(s.middlewareCORS())
// Sessions manager
- s.sessions = session.NewClientSessions(s.router, s.log, cookieMaxAge)
+ s.sessions = session.NewClientSessions(s.router, s.log, cookieMaxAge, s.sillyLog)
// Create REST API
s.api = apiv1.New(s.router, s.sessions, s.cfg, s.mfolders, s.sdks)