Skip to content

Commit 6388dbc

Browse files
committed
improve ws logging
1 parent 2a5ede1 commit 6388dbc

3 files changed

Lines changed: 26 additions & 13 deletions

File tree

src/main/java/de/rwth/idsg/steve/ocpp/ws/AbstractWebSocketEndpoint.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99
import de.rwth.idsg.steve.repository.OcppServerRepository;
1010
import de.rwth.idsg.steve.service.NotificationService;
1111
import org.joda.time.DateTime;
12-
import org.slf4j.Logger;
13-
import org.slf4j.LoggerFactory;
1412
import org.springframework.beans.factory.annotation.Autowired;
1513
import org.springframework.web.socket.BinaryMessage;
1614
import org.springframework.web.socket.CloseStatus;
@@ -34,7 +32,6 @@
3432
* @since 17.03.2015
3533
*/
3634
public abstract class AbstractWebSocketEndpoint implements WebSocketHandler {
37-
private final Logger log = LoggerFactory.getLogger(getClass());
3835

3936
@Autowired private ScheduledExecutorService service;
4037
@Autowired private OcppServerRepository ocppServerRepository;
@@ -92,8 +89,6 @@ private void handleTextMessage(WebSocketSession session, TextMessage webSocketMe
9289

9390
private void handlePongMessage(WebSocketSession session) {
9491
WebSocketLogger.receivedPong(getChargeBoxId(session), session);
95-
96-
// TODO: Not sure about the following. Should update DB? Should call directly repo?
9792
ocppServerRepository.updateChargeboxHeartbeat(getChargeBoxId(session), DateTime.now());
9893
}
9994

@@ -106,7 +101,7 @@ public void afterConnectionEstablished(WebSocketSession session) throws Exceptio
106101
// Just to keep the connection alive, such that the servers do not close
107102
// the connection because of a idle timeout, we ping-pong at fixed intervals.
108103
ScheduledFuture pingSchedule = service.scheduleAtFixedRate(
109-
new PingTask(session),
104+
new PingTask(chargeBoxId, session),
110105
WebSocketConfiguration.PING_INTERVAL,
111106
WebSocketConfiguration.PING_INTERVAL,
112107
TimeUnit.MINUTES);
@@ -151,8 +146,7 @@ public void afterConnectionClosed(WebSocketSession session, CloseStatus closeSta
151146

152147
@Override
153148
public void handleTransportError(WebSocketSession session, Throwable throwable) throws Exception {
154-
log.error("Oops", throwable);
155-
// TODO: Do something about this
149+
WebSocketLogger.transportError(getChargeBoxId(session), session, throwable);
156150
}
157151

158152
@Override

src/main/java/de/rwth/idsg/steve/ocpp/ws/PingTask.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,18 @@
1717
@Slf4j
1818
@RequiredArgsConstructor
1919
public class PingTask implements Runnable {
20+
private final String chargeBoxId;
2021
private final WebSocketSession session;
2122

2223
private static final PingMessage PING_MESSAGE = new PingMessage(ByteBuffer.wrap("ping".getBytes(UTF_8)));
2324

2425
@Override
2526
public void run() {
26-
log.info("[id={}] Sending ping message", session.getId());
27+
WebSocketLogger.sendingPing(chargeBoxId, session);
2728
try {
2829
session.sendMessage(PING_MESSAGE);
2930
} catch (IOException e) {
30-
log.error("[id={}] Ping failed", session.getId());
31+
WebSocketLogger.pingError(chargeBoxId, session, e);
3132
// TODO: Do something about this
3233
}
3334
}

src/main/java/de/rwth/idsg/steve/ocpp/ws/WebSocketLogger.java

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@
99
* @since 10.05.2018
1010
*/
1111
@Slf4j
12-
public class WebSocketLogger {
12+
public final class WebSocketLogger {
13+
14+
private WebSocketLogger() { }
1315

1416
public static void connected(String chargeBoxId, WebSocketSession session) {
1517
log.info("[chargeBoxId={}, sessionId={}] Connection is established", chargeBoxId, session.getId());
@@ -19,6 +21,14 @@ public static void closed(String chargeBoxId, WebSocketSession session, CloseSta
1921
log.warn("[chargeBoxId={}, sessionId={}] Connection is closed, status: {}", chargeBoxId, session.getId(), closeStatus);
2022
}
2123

24+
public static void sending(String chargeBoxId, WebSocketSession session, String msg) {
25+
log.info("[chargeBoxId={}, sessionId={}] Sending: {}", chargeBoxId, session.getId(), msg);
26+
}
27+
28+
public static void sendingPing(String chargeBoxId, WebSocketSession session) {
29+
log.debug("[chargeBoxId={}, sessionId={}] Sending ping message", chargeBoxId, session.getId());
30+
}
31+
2232
public static void receivedPong(String chargeBoxId, WebSocketSession session) {
2333
log.debug("[chargeBoxId={}, sessionId={}] Received pong message", chargeBoxId, session.getId());
2434
}
@@ -27,7 +37,15 @@ public static void receivedText(String chargeBoxId, WebSocketSession session, St
2737
log.info("[chargeBoxId={}, sessionId={}] Received: {}", chargeBoxId, session.getId(), msg);
2838
}
2939

30-
public static void sending(String chargeBoxId, WebSocketSession session, String msg) {
31-
log.info("[chargeBoxId={}, sessionId={}] Sending: {}", chargeBoxId, session.getId(), msg);
40+
public static void pingError(String chargeBoxId, WebSocketSession session, Throwable t) {
41+
if (log.isErrorEnabled()) {
42+
log.error("[chargeBoxId=" + chargeBoxId + ", sessionId=" + session.getId() + "] Ping error", t);
43+
}
44+
}
45+
46+
public static void transportError(String chargeBoxId, WebSocketSession session, Throwable t) {
47+
if (log.isErrorEnabled()) {
48+
log.error("[chargeBoxId=" + chargeBoxId + ", sessionId=" + session.getId() + "] Transport error", t);
49+
}
3250
}
3351
}

0 commit comments

Comments
 (0)