Init commit

Signed-off-by: Nikolai Rodionov <allanger@badhouseplants.net>
This commit is contained in:
2026-04-30 19:30:31 +02:00
commit 83ce16b16f
35 changed files with 2998 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
package logger
import (
"context"
"github.com/go-logr/logr"
"github.com/go-logr/zapr"
"github.com/mattn/go-colorable"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
)
func SetupLogger(levelTxt string) *zap.Logger {
level, err := zapcore.ParseLevel(levelTxt)
if err != nil {
level = zapcore.ErrorLevel
}
aa := zap.NewDevelopmentEncoderConfig()
aa.EncodeLevel = zapcore.CapitalColorLevelEncoder
aa.TimeKey = ""
bb := zap.New(zapcore.NewCore(
zapcore.NewConsoleEncoder(aa),
zapcore.AddSync(colorable.NewColorableStdout()),
level,
))
return bb
}
func NewLogger(ctx context.Context, levelTxt string) context.Context {
log := zapr.NewLogger(SetupLogger(levelTxt))
ctx = logr.NewContext(ctx, log)
return ctx
}
func FromContext(ctx context.Context) logr.Logger {
log, err := logr.FromContext(ctx)
if err == nil {
return log
}
return zapr.NewLogger(zap.NewExample())
}
func ToContext(ctx context.Context, logger logr.Logger) context.Context {
return logr.NewContext(ctx, logger)
}