feat: optimize nats connection handler

This commit is contained in:
Kevin Franklin Kim 2022-01-03 13:19:45 +01:00
parent f2ed4bd229
commit a1a8c3f47a

View File

@ -97,12 +97,25 @@ func New(l *zap.Logger, name, addr string, opts ...Option) (*Stream, error) {
}
// default options
natsOpts := append([]nats.Option{
nats.ErrorHandler(
func(conn *nats.Conn, subscription *nats.Subscription, err error) {
l.Error("nats error", log.FError(err))
}),
nats.ErrorHandler(func(conn *nats.Conn, subscription *nats.Subscription, err error) {
l.Error("Nats server error", log.FError(err))
}),
nats.ClosedHandler(func(conn *nats.Conn) {
if err := conn.LastError(); err != nil {
l.Error("Closed connection to nats server", log.FError(err))
} else {
l.Info("Closed connection to nats server")
}
}),
nats.ReconnectHandler(func(conn *nats.Conn) {
l.Info("Reconnected to nats server")
}),
nats.DisconnectErrHandler(func(conn *nats.Conn, err error) {
l.Error("nats disconnected error", log.FError(err))
if err != nil {
l.Error("Disconnected from nats server", log.FError(err))
} else {
l.Info("Disconnected from nats server")
}
}),
nats.Timeout(time.Millisecond * 500),
}, stream.natsOptions...)