diff --git a/apps/routing/fpm/app/src/main/java/org/onosproject/routing/fpm/FpmManager.java b/apps/routing/fpm/app/src/main/java/org/onosproject/routing/fpm/FpmManager.java
index 5b39cd4..0e26b43 100644
--- a/apps/routing/fpm/app/src/main/java/org/onosproject/routing/fpm/FpmManager.java
+++ b/apps/routing/fpm/app/src/main/java/org/onosproject/routing/fpm/FpmManager.java
@@ -406,6 +406,7 @@
         }
 
         if (clearRoutes) {
+            log.debug("Clearing routes for the peer");
             peers.keySet().forEach(this::clearRoutes);
         }
     }
@@ -610,7 +611,7 @@
 
             // Encode message in a channel buffer and transmit.
             ch.write(fpmMessage.encode());
-
+            log.debug("Fpm Message for updated route {}", fpmMessage.toString());
         } catch (RuntimeException e) {
             log.info("Route not sent over fpm connection.");
         }
@@ -686,6 +687,7 @@
 
         @Override
         public boolean peerConnected(FpmPeer peer) {
+            log.info("FPM connection to {} was connected", peer);
             if (peers.keySet().contains(peer)) {
                 return false;
             }
@@ -813,7 +815,7 @@
                                     .filter(i -> i.connectedTo().equals(event.subject().id()))
                                     .findAny()
                                     .ifPresent(value::remove);
-
+                                log.info("Connection {} removed for disabled peer {}", value, key);
                                 if (value.isEmpty()) {
                                     peers.remove(key);
                                 }
