55 lines
1.0 KiB
Go
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...)
|
|
}
|