face: cleanup log messages in all faces and print fail reason

Change-Id: I405198b375a0317663d29810ee87922a19edccaa
Refs: #2450
diff --git a/daemon/face/websocket-face.hpp b/daemon/face/websocket-face.hpp
index 56dd015..711699b 100644
--- a/daemon/face/websocket-face.hpp
+++ b/daemon/face/websocket-face.hpp
@@ -55,14 +55,14 @@
                 websocketpp::connection_hdl hdl, websocket::Server& server);
 
   // from Face
-  virtual void
-  sendInterest(const Interest& interest);
+  void
+  sendInterest(const Interest& interest) DECL_OVERRIDE;
 
-  virtual void
-  sendData(const Data& data);
+  void
+  sendData(const Data& data) DECL_OVERRIDE;
 
-  virtual void
-  close();
+  void
+  close() DECL_OVERRIDE;
 
   void
   setPingEventId(scheduler::EventId& id)
@@ -70,6 +70,10 @@
     m_pingEventId = id;
   }
 
+protected:
+  // friend because it needs to invoke protected handleReceive
+  friend class WebSocketChannel;
+
   void
   handleReceive(const std::string& msg);