Files
a301_game_server/pkg/logger/logger.go
2026-02-26 17:52:48 +09:00

44 lines
1.1 KiB
Go

package logger
import (
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
)
var log *zap.SugaredLogger
func Init(level string) error {
var zapLevel zapcore.Level
if err := zapLevel.UnmarshalText([]byte(level)); err != nil {
zapLevel = zapcore.InfoLevel
}
cfg := zap.Config{
Level: zap.NewAtomicLevelAt(zapLevel),
Encoding: "console",
EncoderConfig: zap.NewDevelopmentEncoderConfig(),
OutputPaths: []string{"stdout"},
ErrorOutputPaths: []string{"stderr"},
}
l, err := cfg.Build(zap.AddCallerSkip(1))
if err != nil {
return err
}
log = l.Sugar()
return nil
}
func Info(msg string, keysAndValues ...interface{}) { log.Infow(msg, keysAndValues...) }
func Warn(msg string, keysAndValues ...interface{}) { log.Warnw(msg, keysAndValues...) }
func Error(msg string, keysAndValues ...interface{}) { log.Errorw(msg, keysAndValues...) }
func Debug(msg string, keysAndValues ...interface{}) { log.Debugw(msg, keysAndValues...) }
func Fatal(msg string, keysAndValues ...interface{}) { log.Fatalw(msg, keysAndValues...) }
func Sync() {
if log != nil {
_ = log.Sync()
}
}