
se.hiq.oss.spring.nats.logging.ConnectionStatusLogger Maven / Gradle / Ivy
package se.hiq.oss.spring.nats.logging;
import org.springframework.context.event.EventListener;
import org.springframework.scheduling.annotation.Async;
import io.nats.client.Connection;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import se.hiq.oss.spring.nats.event.NatsConnectionEvent;
public class ConnectionStatusLogger {
@SuppressWarnings("PMD.LoggerIsNotStaticFinal") // For testing purposes not static final
private final Logger logger = LoggerFactory.getLogger(Connection.class);
@Async
@EventListener
public void onConnectionEvent(NatsConnectionEvent event) {
switch (event.getState()) {
case CONNECTED:
case RECONNECTED:
case RESUBSCRIBED:
case DISCOVERED_SERVERS:
logger.info("Connection " + event.getSource().getConnectedUrl() + " state changed to " + event.getState().toString());
break;
default: // CLOSED and DISCONNECTED
logger.warn("Connection " + event.getSource().getConnectedUrl() + " state changed to " + event.getState().toString());
break;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy