Update logging to be size-limited and more performant.

This commit is contained in:
Greyson Parrelli
2021-07-23 07:39:16 -04:00
parent 3c748b2df6
commit 15a5f5966d
18 changed files with 253 additions and 167 deletions

View File

@@ -5,32 +5,28 @@ import android.annotation.SuppressLint;
@SuppressLint("LogNotSignal")
public final class AndroidLogger extends Log.Logger {
public AndroidLogger() {
super(0);
}
@Override
public void v(String tag, String message, Throwable t, long lifespan) {
public void v(String tag, String message, Throwable t, boolean keepLonger) {
android.util.Log.v(tag, message, t);
}
@Override
public void d(String tag, String message, Throwable t, long lifespan) {
public void d(String tag, String message, Throwable t, boolean keepLonger) {
android.util.Log.d(tag, message, t);
}
@Override
public void i(String tag, String message, Throwable t, long lifespan) {
public void i(String tag, String message, Throwable t, boolean keepLonger) {
android.util.Log.i(tag, message, t);
}
@Override
public void w(String tag, String message, Throwable t, long lifespan) {
public void w(String tag, String message, Throwable t, boolean keepLonger) {
android.util.Log.w(tag, message, t);
}
@Override
public void e(String tag, String message, Throwable t, long lifespan) {
public void e(String tag, String message, Throwable t, boolean keepLonger) {
android.util.Log.e(tag, message, t);
}

View File

@@ -11,42 +11,41 @@ class CompoundLogger extends Log.Logger {
private final Log.Logger[] loggers;
CompoundLogger(@NonNull Log.Logger... loggers) {
super(0);
this.loggers = loggers;
}
@Override
public void v(String tag, String message, Throwable t, long duration) {
public void v(String tag, String message, Throwable t, boolean keepLonger) {
for (Log.Logger logger : loggers) {
logger.v(tag, message, t, duration);
logger.v(tag, message, t, keepLonger);
}
}
@Override
public void d(String tag, String message, Throwable t, long duration) {
public void d(String tag, String message, Throwable t, boolean keepLonger) {
for (Log.Logger logger : loggers) {
logger.d(tag, message, t, duration);
logger.d(tag, message, t, keepLonger);
}
}
@Override
public void i(String tag, String message, Throwable t, long duration) {
public void i(String tag, String message, Throwable t, boolean keepLonger) {
for (Log.Logger logger : loggers) {
logger.i(tag, message, t, duration);
logger.i(tag, message, t, keepLonger);
}
}
@Override
public void w(String tag, String message, Throwable t, long duration) {
public void w(String tag, String message, Throwable t, boolean keepLonger) {
for (Log.Logger logger : loggers) {
logger.w(tag, message, t, duration);
logger.w(tag, message, t, keepLonger);
}
}
@Override
public void e(String tag, String message, Throwable t, long duration) {
public void e(String tag, String message, Throwable t, boolean keepLonger) {
for (Log.Logger logger : loggers) {
logger.e(tag, message, t, duration);
logger.e(tag, message, t, keepLonger);
}
}

View File

@@ -87,44 +87,44 @@ public final class Log {
logger.e(tag, message, t);
}
public static void v(String tag, String message, long duration) {
logger.v(tag, message, duration);
public static void v(String tag, String message, boolean keepLonger) {
logger.v(tag, message, keepLonger);
}
public static void d(String tag, String message, long duration) {
logger.d(tag, message, duration);
public static void d(String tag, String message, boolean keepLonger) {
logger.d(tag, message, keepLonger);
}
public static void i(String tag, String message, long duration) {
logger.i(tag, message, duration);
public static void i(String tag, String message, boolean keepLonger) {
logger.i(tag, message, keepLonger);
}
public static void w(String tag, String message, long duration) {
logger.w(tag, message, duration);
public static void w(String tag, String message, boolean keepLonger) {
logger.w(tag, message, keepLonger);
}
public static void e(String tag, String message, long duration) {
logger.e(tag, message, duration);
public static void e(String tag, String message, boolean keepLonger) {
logger.e(tag, message, keepLonger);
}
public static void v(String tag, String message, Throwable t, long duration) {
logger.v(tag, message, t, duration);
public static void v(String tag, String message, Throwable t, boolean keepLonger) {
logger.v(tag, message, t, keepLonger);
}
public static void d(String tag, String message, Throwable t, long duration) {
logger.d(tag, message, t, duration);
public static void d(String tag, String message, Throwable t, boolean keepLonger) {
logger.d(tag, message, t, keepLonger);
}
public static void i(String tag, String message, Throwable t, long duration) {
logger.i(tag, message, t, duration);
public static void i(String tag, String message, Throwable t, boolean keepLonger) {
logger.i(tag, message, t, keepLonger);
}
public static void w(String tag, String message, Throwable t, long duration) {
logger.w(tag, message, t, duration);
public static void w(String tag, String message, Throwable t, boolean keepLonger) {
logger.w(tag, message, t, keepLonger);
}
public static void e(String tag, String message, Throwable t, long duration) {
logger.e(tag, message, t, duration);
public static void e(String tag, String message, Throwable t, boolean keepLonger) {
logger.e(tag, message, t, keepLonger);
}
public static String tag(Class<?> clazz) {
@@ -155,57 +155,51 @@ public final class Log {
public static abstract class Logger {
private final long defaultLifespan;
protected Logger(long defaultLifespan) {
this.defaultLifespan = defaultLifespan;
}
public abstract void v(String tag, String message, Throwable t, long lifespan);
public abstract void d(String tag, String message, Throwable t, long lifespan);
public abstract void i(String tag, String message, Throwable t, long lifespan);
public abstract void w(String tag, String message, Throwable t, long lifespan);
public abstract void e(String tag, String message, Throwable t, long lifespan);
public abstract void v(String tag, String message, Throwable t, boolean keepLonger);
public abstract void d(String tag, String message, Throwable t, boolean keepLonger);
public abstract void i(String tag, String message, Throwable t, boolean keepLonger);
public abstract void w(String tag, String message, Throwable t, boolean keepLonger);
public abstract void e(String tag, String message, Throwable t, boolean keepLonger);
public abstract void flush();
public void v(String tag, String message, long lifespan) {
v(tag, message, null, lifespan);
public void v(String tag, String message, boolean keepLonger) {
v(tag, message, null, keepLonger);
}
public void d(String tag, String message, long lifespan) {
d(tag, message, null, lifespan);
public void d(String tag, String message, boolean keepLonger) {
d(tag, message, null, keepLonger);
}
public void i(String tag, String message, long lifespan) {
i(tag, message, null, lifespan);
public void i(String tag, String message, boolean keepLonger) {
i(tag, message, null, keepLonger);
}
public void w(String tag, String message, long lifespan) {
w(tag, message, null, lifespan);
public void w(String tag, String message, boolean keepLonger) {
w(tag, message, null, keepLonger);
}
public void e(String tag, String message, long lifespan) {
e(tag, message, null, lifespan);
public void e(String tag, String message, boolean keepLonger) {
e(tag, message, null, keepLonger);
}
public void v(String tag, String message, Throwable t) {
v(tag, message, t, defaultLifespan);
v(tag, message, t, false);
}
public void d(String tag, String message, Throwable t) {
d(tag, message, t, defaultLifespan);
d(tag, message, t, false);
}
public void i(String tag, String message, Throwable t) {
i(tag, message, t, defaultLifespan);
i(tag, message, t, false);
}
public void w(String tag, String message, Throwable t) {
w(tag, message, t, defaultLifespan);
w(tag, message, t, false);
}
public void e(String tag, String message, Throwable t) {
e(tag, message, t, defaultLifespan);
e(tag, message, t, false);
}
public void v(String tag, String message) {

View File

@@ -4,24 +4,20 @@ package org.signal.core.util.logging;
* A logger that does nothing.
*/
class NoopLogger extends Log.Logger {
NoopLogger() {
super(0);
}
@Override
public void v(String tag, String message, Throwable t, boolean keepLonger) { }
@Override
public void v(String tag, String message, Throwable t, long duration) { }
public void d(String tag, String message, Throwable t, boolean keepLonger) { }
@Override
public void d(String tag, String message, Throwable t, long duration) { }
public void i(String tag, String message, Throwable t, boolean keepLonger) { }
@Override
public void i(String tag, String message, Throwable t, long duration) { }
public void w(String tag, String message, Throwable t, boolean keepLonger) { }
@Override
public void w(String tag, String message, Throwable t, long duration) { }
@Override
public void e(String tag, String message, Throwable t, long duration) { }
public void e(String tag, String message, Throwable t, boolean keepLonger) { }
@Override
public void flush() { }