package com.blazemeter.jmeter.xmpp;
import org.apache.jorphan.logging.LoggingManager;
import org.apache.log.Logger;
import org.jivesoftware.smack.ConnectionListener;
import org.jivesoftware.smack.PacketListener;
import org.jivesoftware.smack.SmackException;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.packet.Packet;
public class Loggers {
private static final Logger log = LoggingManager.getLoggerForClass();
public static class LogRecv implements PacketListener {
private final XMPPConnection conn;
public LogRecv(XMPPConnection conn) {
this.conn = conn;
}
@Override
public void processPacket(Packet packet) throws SmackException.NotConnectedException {
try {
log.debug("Packet recv [" + conn.getConnectionID() + "]: " + packet.toXML());
} catch (IllegalArgumentException e) {
log.debug("Failed to log packet", e);
log.debug("Packet recv [" + conn.getConnectionID() + "]: " + packet.getError());
}
}
}
public static class LogSent implements PacketListener {
private final XMPPConnection conn;
public LogSent(XMPPConnection conn) {
this.conn = conn;
}
@Override
public void processPacket(Packet packet) throws SmackException.NotConnectedException {
log.debug("Packet sent [" + conn.getConnectionID() + "]: " + packet.toXML());
}
}
public static class LogConn implements ConnectionListener {
private final XMPPConnection conn;
public LogConn(XMPPConnection conn) {
this.conn = conn;
}
@Override
public void connected(XMPPConnection connection) {
log.debug("Connected: " + connection.getConnectionID());
}
@Override
public void authenticated(XMPPConnection connection) {
log.debug("Authenticated: " + connection.getConnectionID());
}
@Override
public void connectionClosed() {
log.debug("Connection closed: " + conn.getConnectionID());
}
@Override
public void connectionClosedOnError(Exception e) {
log.error("Connection closed with error: " + conn.getConnectionID(), e);
}
@Override
public void reconnectingIn(int seconds) {
log.debug("Reconnecting in: " + seconds);
}
@Override
public void reconnectionSuccessful() {
log.debug("Reconnection successfull");
}
@Override
public void reconnectionFailed(Exception e) {
log.error("Reconnection failed: ", e);
}
}
}