From 29e5dfd82b97b642ebc39ac2a61f66fbd3a61db9 Mon Sep 17 00:00:00 2001 From: Madan Jampani Date: Tue, 7 Oct 2014 17:26:25 -0700 Subject: [PATCH] Added logging to netty --- .../src/main/java/org/onlab/netty/MessageDecoder.java | 11 +++++++++++ .../src/main/java/org/onlab/netty/MessageEncoder.java | 11 +++++++++++ .../java/org/onlab/netty/NettyMessagingService.java | 1 + 3 files changed, 23 insertions(+) diff --git a/utils/netty/src/main/java/org/onlab/netty/MessageDecoder.java b/utils/netty/src/main/java/org/onlab/netty/MessageDecoder.java index d4832e5b37..b494ce9dd9 100644 --- a/utils/netty/src/main/java/org/onlab/netty/MessageDecoder.java +++ b/utils/netty/src/main/java/org/onlab/netty/MessageDecoder.java @@ -8,11 +8,16 @@ import io.netty.handler.codec.ReplayingDecoder; import java.util.Arrays; import java.util.List; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + /** * Decoder for inbound messages. */ public class MessageDecoder extends ReplayingDecoder { + private final Logger log = LoggerFactory.getLogger(getClass()); + private final NettyMessagingService messagingService; private static final KryoSerializer SERIALIZER = new KryoSerializer(); @@ -57,4 +62,10 @@ public class MessageDecoder extends ReplayingDecoder { checkState(false, "Must not be here"); } } + + @Override + public void exceptionCaught(ChannelHandlerContext context, Throwable cause) { + log.error("Exception inside channel handling pipeline.", cause); + context.close(); + } } diff --git a/utils/netty/src/main/java/org/onlab/netty/MessageEncoder.java b/utils/netty/src/main/java/org/onlab/netty/MessageEncoder.java index 716efb92c0..c0a84dfe08 100644 --- a/utils/netty/src/main/java/org/onlab/netty/MessageEncoder.java +++ b/utils/netty/src/main/java/org/onlab/netty/MessageEncoder.java @@ -1,5 +1,8 @@ package org.onlab.netty; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandler.Sharable; import io.netty.channel.ChannelHandlerContext; @@ -11,6 +14,8 @@ import io.netty.handler.codec.MessageToByteEncoder; @Sharable public class MessageEncoder extends MessageToByteEncoder { + private final Logger log = LoggerFactory.getLogger(getClass()); + // onosiscool in ascii public static final byte[] PREAMBLE = "onosiscool".getBytes(); public static final int HEADER_VERSION = 1; @@ -47,4 +52,10 @@ public class MessageEncoder extends MessageToByteEncoder { // write payload. out.writeBytes(payload); } + + @Override + public void exceptionCaught(ChannelHandlerContext context, Throwable cause) { + log.error("Exception inside channel handling pipeline.", cause); + context.close(); + } } diff --git a/utils/netty/src/main/java/org/onlab/netty/NettyMessagingService.java b/utils/netty/src/main/java/org/onlab/netty/NettyMessagingService.java index 48aeb305d7..5a51ad438f 100644 --- a/utils/netty/src/main/java/org/onlab/netty/NettyMessagingService.java +++ b/utils/netty/src/main/java/org/onlab/netty/NettyMessagingService.java @@ -248,6 +248,7 @@ public class NettyMessagingService implements MessagingService { @Override public void exceptionCaught(ChannelHandlerContext context, Throwable cause) { + log.error("Exception inside channel handling pipeline.", cause); context.close(); } }