diff --git a/modules/input/evdev/EvdevModule.cpp b/modules/input/evdev/EvdevModule.cpp
index 93ccd35..b37eba1 100644
--- a/modules/input/evdev/EvdevModule.cpp
+++ b/modules/input/evdev/EvdevModule.cpp
@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#define LOG_NDEBUG 0
 #define LOG_TAG "EvdevModule"
+//#define LOG_NDEBUG 0
 
 #include <memory>
 #include <string>
diff --git a/modules/input/evdev/InputDevice.cpp b/modules/input/evdev/InputDevice.cpp
index b575117..5f90982 100644
--- a/modules/input/evdev/InputDevice.cpp
+++ b/modules/input/evdev/InputDevice.cpp
@@ -15,7 +15,7 @@
  */
 
 #define LOG_TAG "InputDevice"
-#define LOG_NDEBUG 0
+//#define LOG_NDEBUG 0
 
 // Enables debug output for processing input events
 #define DEBUG_INPUT_EVENTS 0
@@ -219,7 +219,7 @@
         //mMappers.push_back(std::make_unique<VibratorInputMapper>());
     }
 
-    ALOGD("device %s classes=0x%x %d mappers", mDeviceNode->getPath().c_str(), mClasses,
+    ALOGD("device %s classes=0x%x %zu mappers", mDeviceNode->getPath().c_str(), mClasses,
             mMappers.size());
 }
 
diff --git a/modules/input/evdev/MouseInputMapper.cpp b/modules/input/evdev/MouseInputMapper.cpp
index 453edde..8fba5ca 100644
--- a/modules/input/evdev/MouseInputMapper.cpp
+++ b/modules/input/evdev/MouseInputMapper.cpp
@@ -88,7 +88,7 @@
 }
 
 void MouseInputMapper::process(const InputEvent& event) {
-    ALOGD("processing mouse event. type=%d code=%d value=%d",
+    ALOGV("processing mouse event. type=%d code=%d value=%d",
             event.type, event.code, event.value);
     switch (event.type) {
         case EV_KEY:
@@ -103,7 +103,7 @@
             }
             break;
         default:
-            ALOGD("unknown mouse event type: %d", event.type);
+            ALOGV("unknown mouse event type: %d", event.type);
     }
 }
 
diff --git a/modules/input/evdev/SwitchInputMapper.cpp b/modules/input/evdev/SwitchInputMapper.cpp
index adc2f63..bb79d01 100644
--- a/modules/input/evdev/SwitchInputMapper.cpp
+++ b/modules/input/evdev/SwitchInputMapper.cpp
@@ -19,6 +19,7 @@
 
 #include "SwitchInputMapper.h"
 
+#include <inttypes.h>
 #include <linux/input.h>
 #include <hardware/input.h>
 #include <utils/Log.h>
@@ -75,8 +76,6 @@
 }
 
 void SwitchInputMapper::process(const InputEvent& event) {
-    ALOGD("processing switch event. type=%d code=%d value=%d",
-            event.type, event.code, event.value);
     switch (event.type) {
         case EV_SW:
             processSwitch(event.code, event.value);
@@ -87,11 +86,12 @@
             }
             break;
         default:
-            ALOGD("unknown switch event type: %d", event.type);
+            ALOGV("unknown switch event type: %d", event.type);
     }
 }
 
 void SwitchInputMapper::processSwitch(int32_t switchCode, int32_t switchValue) {
+    ALOGV("processing switch event. code=%" PRId32 ", value=%" PRId32, switchCode, switchValue);
     if (switchCode >= 0 && switchCode < SW_CNT) {
         if (switchValue) {
             mSwitchValues.markBit(switchCode);
