Files
phishingclub/backend/log/development.go
2025-08-21 16:14:09 +02:00

43 lines
1007 B
Go

package log
import (
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
)
// TODO add a build tag to this
// log is the global development logger for the application
// it is always in debug mode and should only be used for
// poor mans debugging and not committed when used
var Log *zap.SugaredLogger
func init() {
// NewDevelopmentLogger factory for *zap.Logger with development settings
atom := zap.NewAtomicLevelAt(zap.DebugLevel)
c := zap.Config{
Level: atom,
Development: true,
Encoding: "console",
EncoderConfig: zap.NewDevelopmentEncoderConfig(),
OutputPaths: []string{"stderr"},
ErrorOutputPaths: []string{"stderr"},
}
c.EncoderConfig.EncodeLevel = zapcore.CapitalColorLevelEncoder
logger, _ := c.Build()
Log = logger.Sugar()
}
// Debugf logs a message at debug level
func Bug(args ...any) {
// for each arg do a printf with %v
for _, arg := range args {
Log.Debugf("-->( %++v )", arg)
}
}
func Stop(args ...any) {
Bug(args...)
panic(0)
}