Documentation
¶
Overview ¶
Package pm_slog provides a slog-based logging interceptor for pm subscriptions.
Example usage:
import ( "log/slog" "github.com/zero-color/pm" "github.com/zero-color/pm/middleware/logging/pm_slog" ) logger := slog.Default() subscriber := pm.NewSubscriber( client, pm.WithSubscriptionInterceptors( pm_slog.SubscriptionInterceptor(logger), ), )
Index ¶
- func DefaultMessageProducer(ctx context.Context, msg string, err error, duration time.Duration)
- func Extract(ctx context.Context) *slog.Logger
- func SubscriptionInterceptor(logger *slog.Logger, opt ...Option) pm.SubscriptionInterceptor
- func ToContext(ctx context.Context, logger *slog.Logger) context.Context
- type MessageProducer
- type Option
- type OptionFunc
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultMessageProducer ¶
DefaultMessageProducer writes the default message
func Extract ¶
Extract returns the slog.Logger from the context. If no logger is found, it returns the default logger.
func SubscriptionInterceptor ¶
func SubscriptionInterceptor(logger *slog.Logger, opt ...Option) pm.SubscriptionInterceptor
SubscriptionInterceptor returns a subscription interceptor that optionally logs the subscription process.
Types ¶
type MessageProducer ¶
MessageProducer produces a user defined log message
type Option ¶
type Option interface {
// contains filtered or unexported methods
}
Option is a option to change configuration.
func WithLogDecider ¶
func WithLogDecider(f pm_logging.LogDecider) Option
WithLogDecider customizes the function for deciding if the pm interceptor should log.
func WithMessageProducer ¶
func WithMessageProducer(f MessageProducer) Option
WithMessageProducer customizes the function for logging.
type OptionFunc ¶
type OptionFunc struct {
// contains filtered or unexported fields
}
Click to show internal directories.
Click to hide internal directories.