64 lines
1.5 KiB
Go
64 lines
1.5 KiB
Go
package logger
|
|
|
|
import (
|
|
"context"
|
|
|
|
"git.frostfs.info/TrueCloudLab/frostfs-node/pkg/tracing"
|
|
"go.uber.org/zap"
|
|
"go.uber.org/zap/zapcore"
|
|
)
|
|
|
|
func (l *Logger) Debug(ctx context.Context, msg string, fields ...zap.Field) {
|
|
if l.denyLogEntry(zapcore.DebugLevel) {
|
|
return
|
|
}
|
|
if traceID := tracing.GetTraceID(ctx); traceID != "" {
|
|
l.z.Debug(msg, append(fields, zap.String("trace_id", traceID))...)
|
|
return
|
|
}
|
|
l.z.Debug(msg, fields...)
|
|
}
|
|
|
|
func (l *Logger) Info(ctx context.Context, msg string, fields ...zap.Field) {
|
|
if l.denyLogEntry(zapcore.InfoLevel) {
|
|
return
|
|
}
|
|
if traceID := tracing.GetTraceID(ctx); traceID != "" {
|
|
l.z.Info(msg, append(fields, zap.String("trace_id", traceID))...)
|
|
return
|
|
}
|
|
l.z.Info(msg, fields...)
|
|
}
|
|
|
|
func (l *Logger) Warn(ctx context.Context, msg string, fields ...zap.Field) {
|
|
if l.denyLogEntry(zapcore.WarnLevel) {
|
|
return
|
|
}
|
|
if traceID := tracing.GetTraceID(ctx); traceID != "" {
|
|
l.z.Warn(msg, append(fields, zap.String("trace_id", traceID))...)
|
|
return
|
|
}
|
|
l.z.Warn(msg, fields...)
|
|
}
|
|
|
|
func (l *Logger) Error(ctx context.Context, msg string, fields ...zap.Field) {
|
|
if l.denyLogEntry(zapcore.ErrorLevel) {
|
|
return
|
|
}
|
|
if traceID := tracing.GetTraceID(ctx); traceID != "" {
|
|
l.z.Error(msg, append(fields, zap.String("trace_id", traceID))...)
|
|
return
|
|
}
|
|
l.z.Error(msg, fields...)
|
|
}
|
|
|
|
func (l *Logger) denyLogEntry(level zapcore.Level) bool {
|
|
if l.at.Load()&l.m != l.m {
|
|
return true
|
|
}
|
|
tl := l.tl.Load().(map[uint32]zapcore.Level)
|
|
if lvl, ok := tl[l.m]; ok && lvl > level {
|
|
return true
|
|
}
|
|
return false
|
|
}
|