mirror of
https://github.com/signalapp/Signal-Android.git
synced 2025-12-23 04:28:35 +00:00
Add the ability to increase log lifespan.
This commit is contained in:
@@ -5,36 +5,35 @@ 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) {
|
||||
public void v(String tag, String message, Throwable t, long lifespan) {
|
||||
android.util.Log.v(tag, message, t);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void d(String tag, String message, Throwable t) {
|
||||
public void d(String tag, String message, Throwable t, long lifespan) {
|
||||
android.util.Log.d(tag, message, t);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void i(String tag, String message, Throwable t) {
|
||||
public void i(String tag, String message, Throwable t, long lifespan) {
|
||||
android.util.Log.i(tag, message, t);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void w(String tag, String message, Throwable t) {
|
||||
public void w(String tag, String message, Throwable t, long lifespan) {
|
||||
android.util.Log.w(tag, message, t);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void e(String tag, String message, Throwable t) {
|
||||
public void e(String tag, String message, Throwable t, long lifespan) {
|
||||
android.util.Log.e(tag, message, t);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void wtf(String tag, String message, Throwable t) {
|
||||
android.util.Log.wtf(tag, message, t);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void flush() {
|
||||
}
|
||||
|
||||
@@ -11,48 +11,112 @@ 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) {
|
||||
public void v(String tag, String message, Throwable t, long duration) {
|
||||
for (Log.Logger logger : loggers) {
|
||||
logger.v(tag, message, t, duration);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void d(String tag, String message, Throwable t, long duration) {
|
||||
for (Log.Logger logger : loggers) {
|
||||
logger.d(tag, message, t, duration);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void i(String tag, String message, Throwable t, long duration) {
|
||||
for (Log.Logger logger : loggers) {
|
||||
logger.i(tag, message, t, duration);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void w(String tag, String message, Throwable t, long duration) {
|
||||
for (Log.Logger logger : loggers) {
|
||||
logger.w(tag, message, t, duration);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void e(String tag, String message, Throwable t, long duration) {
|
||||
for (Log.Logger logger : loggers) {
|
||||
logger.e(tag, message, t, duration);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void v(String tag, String message, Throwable t) {
|
||||
for (Log.Logger logger :loggers) {
|
||||
logger.v(tag, message, t);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void d(String tag, String message, Throwable t) {
|
||||
for (Log.Logger logger : loggers) {
|
||||
for (Log.Logger logger :loggers) {
|
||||
logger.d(tag, message, t);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void i(String tag, String message, Throwable t) {
|
||||
for (Log.Logger logger : loggers) {
|
||||
for (Log.Logger logger :loggers) {
|
||||
logger.i(tag, message, t);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void w(String tag, String message, Throwable t) {
|
||||
for (Log.Logger logger : loggers) {
|
||||
for (Log.Logger logger :loggers) {
|
||||
logger.w(tag, message, t);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void e(String tag, String message, Throwable t) {
|
||||
for (Log.Logger logger : loggers) {
|
||||
for (Log.Logger logger :loggers) {
|
||||
logger.e(tag, message, t);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void wtf(String tag, String message, Throwable t) {
|
||||
for (Log.Logger logger : loggers) {
|
||||
logger.wtf(tag, message, t);
|
||||
public void v(String tag, String message) {
|
||||
for (Log.Logger logger :loggers) {
|
||||
logger.v(tag, message);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void d(String tag, String message) {
|
||||
for (Log.Logger logger :loggers) {
|
||||
logger.d(tag, message);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void i(String tag, String message) {
|
||||
for (Log.Logger logger :loggers) {
|
||||
logger.i(tag, message);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void w(String tag, String message) {
|
||||
for (Log.Logger logger :loggers) {
|
||||
logger.w(tag, message);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void e(String tag, String message) {
|
||||
for (Log.Logger logger :loggers) {
|
||||
logger.e(tag, message);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -47,10 +47,6 @@ public final class Log {
|
||||
e(tag, message, null);
|
||||
}
|
||||
|
||||
public static void wtf(String tag, String message) {
|
||||
wtf(tag, message, null);
|
||||
}
|
||||
|
||||
public static void v(String tag, Throwable t) {
|
||||
v(tag, null, t);
|
||||
}
|
||||
@@ -71,10 +67,6 @@ public final class Log {
|
||||
e(tag, null, t);
|
||||
}
|
||||
|
||||
public static void wtf(String tag, Throwable t) {
|
||||
wtf(tag, null, t);
|
||||
}
|
||||
|
||||
public static void v(String tag, String message, Throwable t) {
|
||||
logger.v(tag, message, t);
|
||||
}
|
||||
@@ -95,8 +87,44 @@ public final class Log {
|
||||
logger.e(tag, message, t);
|
||||
}
|
||||
|
||||
public static void wtf(String tag, String message, Throwable t) {
|
||||
logger.wtf(tag, message, t);
|
||||
public static void v(String tag, String message, long duration) {
|
||||
logger.v(tag, message, duration);
|
||||
}
|
||||
|
||||
public static void d(String tag, String message, long duration) {
|
||||
logger.d(tag, message, duration);
|
||||
}
|
||||
|
||||
public static void i(String tag, String message, long duration) {
|
||||
logger.i(tag, message, duration);
|
||||
}
|
||||
|
||||
public static void w(String tag, String message, long duration) {
|
||||
logger.w(tag, message, duration);
|
||||
}
|
||||
|
||||
public static void e(String tag, String message, long duration) {
|
||||
logger.e(tag, message, duration);
|
||||
}
|
||||
|
||||
public static void v(String tag, String message, Throwable t, long duration) {
|
||||
logger.v(tag, message, t, duration);
|
||||
}
|
||||
|
||||
public static void d(String tag, String message, Throwable t, long duration) {
|
||||
logger.d(tag, message, t, duration);
|
||||
}
|
||||
|
||||
public static void i(String tag, String message, Throwable t, long duration) {
|
||||
logger.i(tag, message, t, duration);
|
||||
}
|
||||
|
||||
public static void w(String tag, String message, Throwable t, long duration) {
|
||||
logger.w(tag, message, t, duration);
|
||||
}
|
||||
|
||||
public static void e(String tag, String message, Throwable t, long duration) {
|
||||
logger.e(tag, message, t, duration);
|
||||
}
|
||||
|
||||
public static String tag(Class<?> clazz) {
|
||||
@@ -126,14 +154,60 @@ public final class Log {
|
||||
}
|
||||
|
||||
public static abstract class Logger {
|
||||
public abstract void v(String tag, String message, Throwable t);
|
||||
public abstract void d(String tag, String message, Throwable t);
|
||||
public abstract void i(String tag, String message, Throwable t);
|
||||
public abstract void w(String tag, String message, Throwable t);
|
||||
public abstract void e(String tag, String message, Throwable t);
|
||||
public abstract void wtf(String tag, String message, Throwable t);
|
||||
|
||||
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 flush();
|
||||
|
||||
public void v(String tag, String message, long lifespan) {
|
||||
v(tag, message, null, lifespan);
|
||||
}
|
||||
|
||||
public void d(String tag, String message, long lifespan) {
|
||||
d(tag, message, null, lifespan);
|
||||
}
|
||||
|
||||
public void i(String tag, String message, long lifespan) {
|
||||
i(tag, message, null, lifespan);
|
||||
}
|
||||
|
||||
public void w(String tag, String message, long lifespan) {
|
||||
w(tag, message, null, lifespan);
|
||||
}
|
||||
|
||||
public void e(String tag, String message, long lifespan) {
|
||||
e(tag, message, null, lifespan);
|
||||
}
|
||||
|
||||
public void v(String tag, String message, Throwable t) {
|
||||
v(tag, message, t, defaultLifespan);
|
||||
}
|
||||
|
||||
public void d(String tag, String message, Throwable t) {
|
||||
d(tag, message, t, defaultLifespan);
|
||||
}
|
||||
|
||||
public void i(String tag, String message, Throwable t) {
|
||||
i(tag, message, t, defaultLifespan);
|
||||
}
|
||||
|
||||
public void w(String tag, String message, Throwable t) {
|
||||
w(tag, message, t, defaultLifespan);
|
||||
}
|
||||
|
||||
public void e(String tag, String message, Throwable t) {
|
||||
e(tag, message, t, defaultLifespan);
|
||||
}
|
||||
|
||||
public void v(String tag, String message) {
|
||||
v(tag, message, null);
|
||||
}
|
||||
@@ -153,10 +227,6 @@ public final class Log {
|
||||
public void e(String tag, String message) {
|
||||
e(tag, message, null);
|
||||
}
|
||||
|
||||
public void wtf(String tag, String message) {
|
||||
wtf(tag, message, null);
|
||||
}
|
||||
}
|
||||
|
||||
public interface InternalCheck {
|
||||
|
||||
@@ -4,23 +4,24 @@ package org.signal.core.util.logging;
|
||||
* A logger that does nothing.
|
||||
*/
|
||||
class NoopLogger extends Log.Logger {
|
||||
@Override
|
||||
public void v(String tag, String message, Throwable t) { }
|
||||
NoopLogger() {
|
||||
super(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void d(String tag, String message, Throwable t) { }
|
||||
public void v(String tag, String message, Throwable t, long duration) { }
|
||||
|
||||
@Override
|
||||
public void i(String tag, String message, Throwable t) { }
|
||||
public void d(String tag, String message, Throwable t, long duration) { }
|
||||
|
||||
@Override
|
||||
public void w(String tag, String message, Throwable t) { }
|
||||
public void i(String tag, String message, Throwable t, long duration) { }
|
||||
|
||||
@Override
|
||||
public void e(String tag, String message, Throwable t) { }
|
||||
public void w(String tag, String message, Throwable t, long duration) { }
|
||||
|
||||
@Override
|
||||
public void wtf(String tag, String message, Throwable t) { }
|
||||
public void e(String tag, String message, Throwable t, long duration) { }
|
||||
|
||||
@Override
|
||||
public void flush() { }
|
||||
|
||||
Reference in New Issue
Block a user