[SDFAB-820] Improve error logging in StreamClientImpl

Change-Id: I93a737f31432743f20917b8c85dd54d8b81eee62
(cherry picked from commit 741d50de0ae092e5ff0c78cfc66a5afc10f05dfe)
diff --git a/protocols/p4runtime/ctl/src/main/java/org/onosproject/p4runtime/ctl/client/StreamClientImpl.java b/protocols/p4runtime/ctl/src/main/java/org/onosproject/p4runtime/ctl/client/StreamClientImpl.java
index b2516b4..5d227e4 100644
--- a/protocols/p4runtime/ctl/src/main/java/org/onosproject/p4runtime/ctl/client/StreamClientImpl.java
+++ b/protocols/p4runtime/ctl/src/main/java/org/onosproject/p4runtime/ctl/client/StreamClientImpl.java
@@ -445,6 +445,12 @@
                     case ARBITRATION:
                         handleArbitrationUpdate(message.getArbitration());
                         return;
+                    case ERROR:
+                        P4RuntimeOuterClass.StreamError error = message.getError();
+                        log.warn("Receive stream error {} from {} Canonical Code: {} Message: {} Space: {} Code: {}",
+                                error.getDetailsCase(), deviceId, error.getCanonicalCode(), error.getMessage(),
+                                error.getSpace(), error.getCode());
+                        return;
                     default:
                         log.warn("Unrecognized StreamMessageResponse from {}: {}",
                                  deviceId, message.getUpdateCase());