diff --git a/drivers/default/src/main/java/org/onosproject/driver/pipeline/Ofdpa2Pipeline.java b/drivers/default/src/main/java/org/onosproject/driver/pipeline/Ofdpa2Pipeline.java
index f2fcdab..42701c0 100644
--- a/drivers/default/src/main/java/org/onosproject/driver/pipeline/Ofdpa2Pipeline.java
+++ b/drivers/default/src/main/java/org/onosproject/driver/pipeline/Ofdpa2Pipeline.java
@@ -207,7 +207,7 @@
             rules.stream()
             .filter(Objects::nonNull)
             .forEach(flowOpsBuilder::add);
-            log.info("Applying a flow rule to sw:{}", deviceId);
+            log.debug("Applying a add fwd-obj {} to sw:{}", fwd.id(), deviceId);
             break;
         case REMOVE:
             rules.stream()
@@ -710,12 +710,14 @@
      *             the flow rule
      */
     protected Collection<FlowRule> processVersatile(ForwardingObjective fwd) {
-        log.info("Processing versatile forwarding objective");
+        log.info("Processing versatile forwarding objective:{} in dev:{}",
+                 fwd.id(), deviceId);
 
         EthTypeCriterion ethType =
                 (EthTypeCriterion) fwd.selector().getCriterion(Criterion.Type.ETH_TYPE);
         if (ethType == null) {
-            log.error("Versatile forwarding objective must include ethType");
+            log.error("Versatile forwarding objective:{} must include ethType",
+                      fwd.id());
             fail(fwd, ObjectiveError.BADPARAMS);
             return Collections.emptySet();
         }
