Update On Sat Jun 29 20:29:47 CEST 2024

This commit is contained in:
github-action[bot]
2024-06-29 20:29:47 +02:00
parent 40a44d0943
commit e448b07b19
80 changed files with 2912 additions and 1310 deletions

View File

@@ -8,7 +8,7 @@ var (
// allow change in test
IdleTimeOut = 10 * time.Second
Version = "1.1.4"
Version = "1.1.5-dev"
GitBranch string
GitRevision string
BuildTime string

View File

@@ -48,7 +48,8 @@ func NewServer(
cfg *config.Config,
relayReloader glue.Reloader,
healthChecker glue.HealthChecker,
connMgr cmgr.Cmgr) (*Server, error) {
connMgr cmgr.Cmgr,
) (*Server, error) {
l := zap.S().Named("web")
templates := template.Must(template.ParseFS(templatesFS, "templates/*.html"))

View File

@@ -5,12 +5,19 @@ import (
"encoding/json"
"io"
"github.com/Ehco1996/ehco/pkg/log"
"github.com/hashicorp/go-retryablehttp"
)
func PostJSONWithRetry(url string, dataStruct interface{}) error {
func generateRetirableClient() *retryablehttp.Client {
retryClient := retryablehttp.NewClient()
retryClient.RetryMax = 3
retryClient.Logger = log.NewZapLeveledLogger("http")
return retryClient
}
func PostJSONWithRetry(url string, dataStruct interface{}) error {
retryClient := generateRetirableClient()
buf := new(bytes.Buffer)
if err := json.NewEncoder(buf).Encode(dataStruct); err != nil {
@@ -26,10 +33,8 @@ func PostJSONWithRetry(url string, dataStruct interface{}) error {
}
func GetJSONWithRetry(url string, dataStruct interface{}) error {
retryClient := retryablehttp.NewClient()
retryClient.RetryMax = 3
resp, err := retryablehttp.Get(url)
retryClient := generateRetirableClient()
resp, err := retryClient.Get(url)
if err != nil {
return err
}

37
echo/pkg/log/leveld.go Normal file
View File

@@ -0,0 +1,37 @@
package log
import (
"github.com/hashicorp/go-retryablehttp"
"go.uber.org/zap"
)
// ZapLeveledLogger wrapper for zap.logger for use with hashicorp's go-retryable LeveledLogger
// port from https://github.com/hashicorp/go-retryablehttp/issues/182#issuecomment-1758011585
type ZapLeveledLogger struct {
Logger *zap.SugaredLogger
}
// New creates a ZapLeveledLogger with a zap.logger that satisfies standard library log.Logger interface.
func NewZapLeveledLogger(name string) retryablehttp.LeveledLogger {
if globalInitd {
return &ZapLeveledLogger{Logger: zap.S().Named(name)}
}
logger, _ := initLogger("info", false)
return &ZapLeveledLogger{Logger: logger.Sugar().Named(name)}
}
func (l *ZapLeveledLogger) Error(msg string, keysAndValues ...interface{}) {
l.Logger.Errorw(msg, keysAndValues...)
}
func (l *ZapLeveledLogger) Info(msg string, keysAndValues ...interface{}) {
l.Logger.Infow(msg, keysAndValues...)
}
func (l *ZapLeveledLogger) Debug(msg string, keysAndValues ...interface{}) {
l.Logger.Debugw(msg, keysAndValues...)
}
func (l *ZapLeveledLogger) Warn(msg string, keysAndValues ...interface{}) {
l.Logger.Warnw(msg, keysAndValues...)
}

View File

@@ -8,7 +8,10 @@ import (
"go.uber.org/zap/zapcore"
)
var doOnce sync.Once
var (
doOnce sync.Once
globalInitd bool
)
func initLogger(logLevel string, replaceGlobal bool) (*zap.Logger, error) {
level := zapcore.InfoLevel
@@ -41,6 +44,7 @@ func InitGlobalLogger(logLevel string) error {
var err error
doOnce.Do(func() {
_, err = initLogger(logLevel, true)
globalInitd = true
})
return err
}