Loads of updates
This commit is contained in:
@@ -1,10 +1,13 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"log"
|
||||
"math/rand"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"go.uber.org/zap"
|
||||
"go.uber.org/zap/zapcore"
|
||||
"golang.org/x/crypto/bcrypt"
|
||||
)
|
||||
|
||||
@@ -48,3 +51,31 @@ func RandString(n int) string {
|
||||
|
||||
return sb.String()
|
||||
}
|
||||
|
||||
func SyslogTimeEncoder(t time.Time, enc zapcore.PrimitiveArrayEncoder) {
|
||||
loc, _ := time.LoadLocation("") // "" == UTC
|
||||
t = t.In(loc)
|
||||
|
||||
enc.AppendString(t.Format("2006-01-02 15:04:05"))
|
||||
}
|
||||
|
||||
func GetLog() *zap.SugaredLogger {
|
||||
cfg := zap.NewProductionConfig()
|
||||
cfg.Development = true
|
||||
cfg.DisableCaller = false
|
||||
cfg.DisableStacktrace = false
|
||||
cfg.Encoding = "console" // "console" or "json"
|
||||
cfg.EncoderConfig.EncodeTime = SyslogTimeEncoder
|
||||
cfg.OutputPaths = []string{"stdout"}
|
||||
cfg.ErrorOutputPaths = []string{"stderr"}
|
||||
cfg.Level.SetLevel(zap.DebugLevel)
|
||||
|
||||
logger, err := cfg.Build()
|
||||
if err != nil {
|
||||
log.Panicf("Could not build logger, err: %v", err)
|
||||
}
|
||||
defer logger.Sync() // flushes buffer, if any
|
||||
log := logger.Sugar()
|
||||
|
||||
return log
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user