mirror of
https://github.com/bolucat/Archive.git
synced 2025-12-24 13:28:37 +08:00
Update On Sat Jun 29 20:29:47 CEST 2024
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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"))
|
||||
|
||||
@@ -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
37
echo/pkg/log/leveld.go
Normal 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...)
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user