从Golang的开源项目中学习不同的功能实现

缘起 最近看到有些go开源项目中的代码,看到其中的功能,故整理备用。 日志 Zap 带日志等级输出 代码源 https://github.com/illacloud/builder-backend/tree/main/internal/util var logger *zap.SugaredLogger type LogConfig struct { ILLA_LOG_LEVEL int `env:"ILLA_LOG_LEVEL" envDefault:"0"` } func init() { cfg := &LogConfig{} err := env.Parse(cfg) if err != nil { return } logConfig := zap.NewProductionConfig() logConfig.Level = zap.NewAtomicLevelAt(zapcore.Level(cfg.ILLA_LOG_LEVEL)) baseLogger, err := logConfig.Build() if err != nil { panic("failed to create the default logger: " + err.Error()) } logger = baseLogger.Sugar() } func NewSugardLogger() *zap.SugaredLogger { return logger } 文件生成 国际化I18n package i18n import ( "context" "encoding/json" "io/ioutil" "net/http" "os" "strings" "github....

November 25, 2022 · 7 min · czyt