Skip to content

Commit 0055046

Browse files
authored
Fix Log.d for larger than 4000 bytes (#443)
* Fix Log.d for larger than 4000 bytes * trigger build
1 parent cac710f commit 0055046

File tree

1 file changed

+12
-1
lines changed
  • AndroidSDKCore/src/main/java/com/leanplum/internal

1 file changed

+12
-1
lines changed

AndroidSDKCore/src/main/java/com/leanplum/internal/Log.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ public class Log {
3636

3737
private static int level = Level.INFO;
3838

39+
private static final int LOGGER_MAX_LEN = 4000; // bytes
40+
3941
/**
4042
* Sets log level.
4143
* @param level level to set
@@ -149,7 +151,7 @@ public static void log(LogType type, String message, Object... args) {
149151
break;
150152
case DEBUG:
151153
if (level >= Level.DEBUG) {
152-
android.util.Log.d(tag, msg);
154+
largeLogD(tag, msg);
153155
}
154156
break;
155157
}
@@ -159,6 +161,15 @@ public static void log(LogType type, String message, Object... args) {
159161
}
160162
}
161163

164+
private static void largeLogD(String tag, String msg) {
165+
if (msg.length() > LOGGER_MAX_LEN) {
166+
android.util.Log.d(tag, msg.substring(0, LOGGER_MAX_LEN));
167+
largeLogD(tag, msg.substring(LOGGER_MAX_LEN));
168+
} else {
169+
android.util.Log.d(tag, msg);
170+
}
171+
}
172+
162173
private static String formatTag(LogType type) {
163174
return "[Leanplum][" + type.name() + "]";
164175
}

0 commit comments

Comments
 (0)