diff --git a/evdevpp/evdev.hpp b/evdevpp/evdev.hpp
index 1861982..b0ba06e 100644
--- a/evdevpp/evdev.hpp
+++ b/evdevpp/evdev.hpp
@@ -36,6 +36,7 @@
 
 } // namespace details
 
+using namespace phosphor::logging;
 /** @class EvDev
  *  @brief Provides C++ bindings to the libevdev C API.
  */
@@ -72,7 +73,10 @@
                     evdev.get(), type, code, &val);
             if (!rc)
             {
-                phosphor::logging::elog<InternalFailure>();
+                log<level::ERR>("Error in call to libevdev_fetch_event_value",
+                        entry("TYPE=%d", type),
+                        entry("CODE=%d", code));
+                elog<InternalFailure>();
             }
 
             return val;
@@ -88,7 +92,9 @@
                         evdev.get(), LIBEVDEV_READ_FLAG_NORMAL, &ev);
                 if (rc < 0)
                 {
-                    phosphor::logging::elog<InternalFailure>();
+                    log<level::ERR>("Error in call to libevdev_next_event",
+                            entry("RC=%d", rc));
+                    elog<InternalFailure>();
                 }
 
                 if (ev.type == EV_SYN && ev.code == SYN_REPORT)
@@ -118,7 +124,10 @@
 
     if (rc)
     {
-        phosphor::logging::elog<InternalFailure>();
+        log<level::ERR>("Error in call to libevdev_new_from_fd",
+                entry("RC=%d", rc),
+                entry("FD=%d", fd));
+        elog<InternalFailure>();
     }
 
     return EvDev(dev);
