diff --git a/java/src/com/android/inputmethod/research/MainLogBuffer.java b/java/src/com/android/inputmethod/research/MainLogBuffer.java
index 745768d352e0e097488903518160dff273412ef0..94dbf39602f222223459b7aa459a09c0e1b03117 100644
--- a/java/src/com/android/inputmethod/research/MainLogBuffer.java
+++ b/java/src/com/android/inputmethod/research/MainLogBuffer.java
@@ -16,16 +16,22 @@
 
 package com.android.inputmethod.research;
 
+import android.util.Log;
+
 import com.android.inputmethod.latin.Dictionary;
 import com.android.inputmethod.latin.Suggest;
 
 import java.util.Random;
 
 public class MainLogBuffer extends LogBuffer {
+    private static final String TAG = MainLogBuffer.class.getSimpleName();
+    // For privacy reasons, be sure to set to "false" for production code.
+    private static final boolean DEBUG = false;
+
     // The size of the n-grams logged.  E.g. N_GRAM_SIZE = 2 means to sample bigrams.
     private static final int N_GRAM_SIZE = 2;
     // The number of words between n-grams to omit from the log.
-    private static final int DEFAULT_NUMBER_OF_WORDS_BETWEEN_SAMPLES = 18;
+    private static final int DEFAULT_NUMBER_OF_WORDS_BETWEEN_SAMPLES = DEBUG ? 2 : 18;
 
     private final ResearchLog mResearchLog;
     private Suggest mSuggest;
@@ -61,6 +67,9 @@ public class MainLogBuffer extends LogBuffer {
                 mWordsUntilSafeToSample--;
             }
         }
+        if (DEBUG) {
+            Log.d(TAG, "shiftedIn " + (newLogUnit.hasWord() ? newLogUnit.getWord() : ""));
+        }
     }
 
     public void resetWordCounter() {
diff --git a/java/src/com/android/inputmethod/research/ResearchLogger.java b/java/src/com/android/inputmethod/research/ResearchLogger.java
index 95b76df40716635ccd17be1654c0fdac232da459..e9ffcd9814abad5f0ffb41bc461b755204a086ee 100644
--- a/java/src/com/android/inputmethod/research/ResearchLogger.java
+++ b/java/src/com/android/inputmethod/research/ResearchLogger.java
@@ -688,7 +688,8 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang
 
     /* package for test */ void commitCurrentLogUnit() {
         if (DEBUG) {
-            Log.d(TAG, "commitCurrentLogUnit");
+            Log.d(TAG, "commitCurrentLogUnit" + (mCurrentLogUnit.hasWord() ?
+                    ": " + mCurrentLogUnit.getWord() : ""));
         }
         if (!mCurrentLogUnit.isEmpty()) {
             if (mMainLogBuffer != null) {
diff --git a/java/src/com/android/inputmethod/research/Statistics.java b/java/src/com/android/inputmethod/research/Statistics.java
index 98491bd23abff9eb85a032a0dbf7419b4519c5a2..2065ab15eb067bbee49c1cc895a52952372303af 100644
--- a/java/src/com/android/inputmethod/research/Statistics.java
+++ b/java/src/com/android/inputmethod/research/Statistics.java
@@ -16,9 +16,14 @@
 
 package com.android.inputmethod.research;
 
+import android.util.Log;
+
 import com.android.inputmethod.latin.Constants;
 
 public class Statistics {
+    private static final String TAG = Statistics.class.getSimpleName();
+    private static final boolean DEBUG = false;
+
     // Number of characters entered during a typing session
     int mCharCount;
     // Number of letter characters entered during a typing session
@@ -103,6 +108,9 @@ public class Statistics {
     }
 
     public void recordChar(int codePoint, long time) {
+        if (DEBUG) {
+            Log.d(TAG, "recordChar() called");
+        }
         final long delta = time - mLastTapTime;
         if (codePoint == Constants.CODE_DELETE) {
             mDeleteKeyCount++;