Files
alfred-be/alfred/pkg/log/log.go
2026-03-08 16:14:42 +05:30

55 lines
1.0 KiB
Go

package log
import (
"go.elastic.co/ecszap"
"go.uber.org/zap"
)
type Logger struct {
log *zap.Logger
}
var Log *Logger
func InitLogger(serviceName string) {
logConfig := zap.NewProductionConfig()
logConfig.EncoderConfig = ecszap.ECSCompatibleEncoderConfig(logConfig.EncoderConfig)
log, err := logConfig.Build(ecszap.WrapCoreOption(), zap.AddCallerSkip(1))
log = log.With(zap.String("service.name", serviceName))
if err != nil {
panic(err)
}
Log = &Logger{
log: log,
}
}
func GetLogger() *zap.Logger {
return Log.log
}
func Error(message string, fields ...zap.Field) {
Log.log.Error(message, fields...)
}
func Warn(message string, fields ...zap.Field) {
Log.log.Warn(message, fields...)
}
func Info(message string, fields ...zap.Field) {
Log.log.Info(message, fields...)
}
func Debug(message string, fields ...zap.Field) {
Log.log.Debug(message, fields...)
}
func Fatal(message string, fields ...zap.Field) {
Log.log.Fatal(message, fields...)
}
func Panic(message string, fields ...zap.Field) {
Log.log.Panic(message, fields...)
}