misso/inits/logger.go

33 lines
496 B
Go

package inits
import (
"fmt"
"go.uber.org/zap"
"misso/config"
"misso/global"
)
func Logger() error {
var err error
var logger *zap.Logger
// Prepare logger
if config.Config.System.Debug {
logger, err = zap.NewDevelopment()
} else {
logger, err = zap.NewProduction()
}
if err != nil {
return fmt.Errorf("failed to initialize logger: %v", err)
}
// Flush logs
defer logger.Sync() // Unable to handle errors here
// Sugar it
global.Logger = logger.Sugar()
return nil
}