Lc fixes
This commit is contained in:
parent
1ef901743c
commit
cf8002c0aa
|
|
@ -20,48 +20,35 @@
|
|||
package ru.touchin.roboswag.core.log;
|
||||
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.util.Log;
|
||||
|
||||
public class ConsoleLogProcessor implements LogProcessor {
|
||||
|
||||
private static final int MAX_LOG_LENGTH = 4000;
|
||||
|
||||
@Override
|
||||
public void processLogMessage(final int logLevel, final String tag, final String message) {
|
||||
switch (logLevel) {
|
||||
case Log.DEBUG:
|
||||
Log.d(tag, message);
|
||||
break;
|
||||
case Log.INFO:
|
||||
Log.i(tag, message);
|
||||
break;
|
||||
case Log.WARN:
|
||||
Log.w(tag, message);
|
||||
break;
|
||||
case Log.ERROR:
|
||||
case Log.ASSERT:
|
||||
default:
|
||||
Log.e(tag, message);
|
||||
break;
|
||||
}
|
||||
public void processLogMessage(final int logLevel, @NonNull final String tag, @NonNull final String message) {
|
||||
logMessage(logLevel, tag, message, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processLogMessage(final int logLevel, final String tag, final String message, @NonNull final Throwable ex) {
|
||||
switch (logLevel) {
|
||||
case Log.DEBUG:
|
||||
Log.d(tag, message, ex);
|
||||
break;
|
||||
case Log.INFO:
|
||||
Log.i(tag, message, ex);
|
||||
break;
|
||||
case Log.WARN:
|
||||
Log.w(tag, message, ex);
|
||||
break;
|
||||
case Log.ERROR:
|
||||
case Log.ASSERT:
|
||||
Log.e(tag, message, ex);
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException("Unsupported log level: " + logLevel);
|
||||
public void processLogMessage(final int logLevel, @NonNull final String tag, @NonNull final String message, @NonNull final Throwable throwable) {
|
||||
logMessage(logLevel, tag, message, throwable);
|
||||
}
|
||||
|
||||
private void logMessage(final int logLevel, @NonNull final String tag, @NonNull final String message, @Nullable final Throwable throwable) {
|
||||
final String messageToLog = message + (throwable != null ? '\n' + Log.getStackTraceString(throwable) : "");
|
||||
for (int i = 0, length = messageToLog.length(); i < length; i++) {
|
||||
int newline = messageToLog.indexOf('\n', i);
|
||||
newline = newline != -1 ? newline : length;
|
||||
do {
|
||||
int end = Math.min(newline, i + MAX_LOG_LENGTH);
|
||||
Log.println(logLevel, tag, messageToLog.substring(i, end));
|
||||
i = end;
|
||||
} while (i < newline);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -24,13 +24,13 @@ import android.support.annotation.Nullable;
|
|||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import ru.touchin.roboswag.core.utils.ShouldNotHappenException;
|
||||
import ru.touchin.roboswag.core.utils.ThreadLocalValue;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Arrays;
|
||||
import java.util.Locale;
|
||||
|
||||
import ru.touchin.roboswag.core.utils.ShouldNotHappenException;
|
||||
import ru.touchin.roboswag.core.utils.ThreadLocalValue;
|
||||
|
||||
public final class LcHelper {
|
||||
|
||||
private static int logLevel;
|
||||
|
|
@ -90,7 +90,7 @@ public final class LcHelper {
|
|||
|
||||
final String formattedMessage;
|
||||
try {
|
||||
formattedMessage = String.format(message, args);
|
||||
formattedMessage = args.length > 0 ? String.format(message, args) : message;
|
||||
} catch (final Throwable exception) {
|
||||
Lc.assertion(exception);
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -24,9 +24,9 @@ import android.support.annotation.NonNull;
|
|||
public interface LogProcessor {
|
||||
|
||||
/* Processes log message (e.g. log it in Console or log it in Crashlytics) */
|
||||
void processLogMessage(int logLevel, String tag, String message);
|
||||
void processLogMessage(int logLevel, @NonNull String tag, @NonNull String message);
|
||||
|
||||
/* Processes log message with exception (e.g. log it in Console or log it in Crashlytics) */
|
||||
void processLogMessage(int logLevel, String tag, String message, @NonNull Throwable ex);
|
||||
void processLogMessage(int logLevel, @NonNull String tag, @NonNull String message, @NonNull Throwable ex);
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue