HDFSWriter microservice working copy
[demo.git] / vnfs / DAaaS / microservices / GoApps / src / go-hdfs-writer / pkg / utils / logutils.go
1 package utils
2
3 import (
4         "go.uber.org/zap"
5         "fmt"
6         "sync"
7 )
8
9
10
11 var logOnce sync.Once
12 var logger *zap.SugaredLogger
13
14 //GetLoggerInstance returns a singleton instance of logger
15 func GetLoggerInstance() (*zap.SugaredLogger){
16         logOnce.Do(func(){
17                 logger = createLogger()
18         })
19         return logger
20 }
21
22
23 //createLogger returns a SugaredLogger, sugaredLogger can be directly used to generate logs
24 func createLogger() (*zap.SugaredLogger){
25         logger, err := zap.NewDevelopment()
26         if err != nil {
27                 fmt.Printf("can't initialize zap logger: %v", err)
28         }
29         defer logger.Sync()
30         slogger := logger.Sugar()
31         return slogger
32 }