2021-10-17 17:15:44 +00:00
|
|
|
package waiter
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
"fmt"
|
|
|
|
|
|
|
|
"github.com/aws/smithy-go/logging"
|
|
|
|
"github.com/aws/smithy-go/middleware"
|
|
|
|
)
|
|
|
|
|
|
|
|
// Logger is the Logger middleware used by the waiter to log an attempt
|
|
|
|
type Logger struct {
|
|
|
|
// Attempt is the current attempt to be logged
|
|
|
|
Attempt int64
|
|
|
|
}
|
|
|
|
|
|
|
|
// ID representing the Logger middleware
|
|
|
|
func (*Logger) ID() string {
|
|
|
|
return "WaiterLogger"
|
|
|
|
}
|
|
|
|
|
|
|
|
// HandleInitialize performs handling of request in initialize stack step
|
|
|
|
func (m *Logger) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) (
|
|
|
|
out middleware.InitializeOutput, metadata middleware.Metadata, err error,
|
|
|
|
) {
|
|
|
|
logger := middleware.GetLogger(ctx)
|
|
|
|
|
|
|
|
logger.Logf(logging.Debug, fmt.Sprintf("attempting waiter request, attempt count: %d", m.Attempt))
|
|
|
|
|
|
|
|
return next.HandleInitialize(ctx, in)
|
|
|
|
}
|
|
|
|
|
2022-06-09 10:30:53 +00:00
|
|
|
// AddLogger is a helper util to add waiter logger after `SetLogger` middleware in
|
2021-10-17 17:15:44 +00:00
|
|
|
func (m Logger) AddLogger(stack *middleware.Stack) error {
|
|
|
|
return stack.Initialize.Insert(&m, "SetLogger", middleware.After)
|
|
|
|
}
|