mirror of https://github.com/dtm-labs/dtm.git
2 changed files with 80 additions and 0 deletions
@ -0,0 +1,63 @@ |
|||
package logger |
|||
|
|||
import ( |
|||
"log" |
|||
"os" |
|||
|
|||
"go.uber.org/zap" |
|||
"go.uber.org/zap/zapcore" |
|||
) |
|||
|
|||
var logger *zap.SugaredLogger = nil |
|||
|
|||
func init() { |
|||
InitLog() |
|||
} |
|||
|
|||
// InitLog is a initialization for a logger
|
|||
func InitLog() { |
|||
config := zap.NewProductionConfig() |
|||
config.EncoderConfig.EncodeTime = zapcore.ISO8601TimeEncoder |
|||
if os.Getenv("DTM_DEBUG") != "" { |
|||
config.Encoding = "console" |
|||
config.EncoderConfig.EncodeLevel = zapcore.CapitalColorLevelEncoder |
|||
} |
|||
p, err := config.Build(zap.AddCallerSkip(1)) |
|||
if err != nil { |
|||
log.Fatal("create logger failed: ", err) |
|||
} |
|||
logger = p.Sugar() |
|||
} |
|||
|
|||
// Debugf log to level debug
|
|||
func Debugf(fmt string, args ...interface{}) { |
|||
logger.Debugf(fmt, args...) |
|||
} |
|||
|
|||
// Infof log to level info
|
|||
func Infof(fmt string, args ...interface{}) { |
|||
logger.Infof(fmt, args...) |
|||
} |
|||
|
|||
// Warnf log to level warn
|
|||
func Warnf(fmt string, args ...interface{}) { |
|||
logger.Warnf(fmt, args...) |
|||
} |
|||
|
|||
// Errorf log to level error
|
|||
func Errorf(fmt string, args ...interface{}) { |
|||
logger.Errorf(fmt, args...) |
|||
} |
|||
|
|||
// FatalfIf log to level error
|
|||
func FatalfIf(cond bool, fmt string, args ...interface{}) { |
|||
if !cond { |
|||
return |
|||
} |
|||
logger.Fatalf(fmt, args...) |
|||
} |
|||
|
|||
// FatalIfError if err is not nil, then log to level fatal and call os.Exit
|
|||
func FatalIfError(err error) { |
|||
FatalfIf(err != nil, "fatal error: %v", err) |
|||
} |
|||
@ -0,0 +1,17 @@ |
|||
package logger |
|||
|
|||
import ( |
|||
"os" |
|||
"testing" |
|||
) |
|||
|
|||
func TestInitLog(t *testing.T) { |
|||
os.Setenv("DTM_DEBUG", "1") |
|||
InitLog() |
|||
Debugf("a debug msg") |
|||
Infof("a info msg") |
|||
Warnf("a warn msg") |
|||
Errorf("a error msg") |
|||
FatalfIf(false, "nothing") |
|||
FatalIfError(nil) |
|||
} |
|||
Loading…
Reference in new issue