kopia lustrzana https://github.com/ryukoposting/Signal-Android
Increase log size for internal users.
rodzic
1b8758b657
commit
b86acb9773
|
@ -71,6 +71,7 @@ import org.thoughtcrime.securesms.service.UpdateApkRefreshListener;
|
||||||
import org.thoughtcrime.securesms.storage.StorageSyncHelper;
|
import org.thoughtcrime.securesms.storage.StorageSyncHelper;
|
||||||
import org.thoughtcrime.securesms.util.AppForegroundObserver;
|
import org.thoughtcrime.securesms.util.AppForegroundObserver;
|
||||||
import org.thoughtcrime.securesms.util.AppStartup;
|
import org.thoughtcrime.securesms.util.AppStartup;
|
||||||
|
import org.thoughtcrime.securesms.util.ByteUnit;
|
||||||
import org.thoughtcrime.securesms.util.DynamicTheme;
|
import org.thoughtcrime.securesms.util.DynamicTheme;
|
||||||
import org.thoughtcrime.securesms.util.FeatureFlags;
|
import org.thoughtcrime.securesms.util.FeatureFlags;
|
||||||
import org.thoughtcrime.securesms.util.SignalUncaughtExceptionHandler;
|
import org.thoughtcrime.securesms.util.SignalUncaughtExceptionHandler;
|
||||||
|
@ -237,7 +238,7 @@ public class ApplicationContext extends MultiDexApplication implements AppForegr
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initializeLogging() {
|
private void initializeLogging() {
|
||||||
persistentLogger = new PersistentLogger(this, LogSecretProvider.getOrCreateAttachmentSecret(this), BuildConfig.VERSION_NAME);
|
persistentLogger = new PersistentLogger(this, LogSecretProvider.getOrCreateAttachmentSecret(this), BuildConfig.VERSION_NAME, FeatureFlags.internalUser() ? 15 : 7, ByteUnit.KILOBYTES.toBytes(300));
|
||||||
org.signal.core.util.logging.Log.initialize(FeatureFlags::internalUser, new AndroidLogger(), persistentLogger);
|
org.signal.core.util.logging.Log.initialize(FeatureFlags::internalUser, new AndroidLogger(), persistentLogger);
|
||||||
|
|
||||||
SignalProtocolLoggerProvider.setProvider(new CustomSignalProtocolLogger());
|
SignalProtocolLoggerProvider.setProvider(new CustomSignalProtocolLogger());
|
||||||
|
|
|
@ -38,23 +38,25 @@ public final class PersistentLogger extends Log.Logger {
|
||||||
|
|
||||||
private static final String LOG_DIRECTORY = "log";
|
private static final String LOG_DIRECTORY = "log";
|
||||||
private static final String FILENAME_PREFIX = "log-";
|
private static final String FILENAME_PREFIX = "log-";
|
||||||
private static final int MAX_LOG_FILES = 7;
|
|
||||||
private static final int MAX_LOG_SIZE = 300 * 1024;
|
|
||||||
private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS zzz", Locale.US);
|
private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS zzz", Locale.US);
|
||||||
|
|
||||||
private final Context context;
|
private final Context context;
|
||||||
private final Executor executor;
|
private final Executor executor;
|
||||||
private final byte[] secret;
|
private final byte[] secret;
|
||||||
private final String logTag;
|
private final String logTag;
|
||||||
|
private final int maxLogFiles;
|
||||||
|
private final long maxLogFileSize;
|
||||||
|
|
||||||
private LogFile.Writer writer;
|
private LogFile.Writer writer;
|
||||||
|
|
||||||
private ThreadLocal<String> cachedThreadString;
|
private final ThreadLocal<String> cachedThreadString;
|
||||||
|
|
||||||
public PersistentLogger(@NonNull Context context, @NonNull byte[] secret, @NonNull String logTag) {
|
public PersistentLogger(@NonNull Context context, @NonNull byte[] secret, @NonNull String logTag, int maxLogFiles, long maxLogFileSize) {
|
||||||
this.context = context.getApplicationContext();
|
this.context = context.getApplicationContext();
|
||||||
this.secret = secret;
|
this.secret = secret;
|
||||||
this.logTag = logTag;
|
this.logTag = logTag;
|
||||||
|
this.maxLogFiles = maxLogFiles;
|
||||||
|
this.maxLogFileSize = maxLogFileSize;
|
||||||
this.cachedThreadString = new ThreadLocal<>();
|
this.cachedThreadString = new ThreadLocal<>();
|
||||||
this.executor = Executors.newSingleThreadExecutor(r -> {
|
this.executor = Executors.newSingleThreadExecutor(r -> {
|
||||||
Thread thread = new Thread(r, "signal-PersistentLogger");
|
Thread thread = new Thread(r, "signal-PersistentLogger");
|
||||||
|
@ -176,7 +178,7 @@ public final class PersistentLogger extends Log.Logger {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (writer.getLogSize() >= MAX_LOG_SIZE) {
|
if (writer.getLogSize() >= maxLogFileSize) {
|
||||||
writer.close();
|
writer.close();
|
||||||
writer = new LogFile.Writer(secret, createNewLogFile());
|
writer = new LogFile.Writer(secret, createNewLogFile());
|
||||||
trimLogFilesOverMax();
|
trimLogFilesOverMax();
|
||||||
|
@ -196,8 +198,8 @@ public final class PersistentLogger extends Log.Logger {
|
||||||
|
|
||||||
private void trimLogFilesOverMax() throws IOException {
|
private void trimLogFilesOverMax() throws IOException {
|
||||||
File[] logs = getSortedLogFiles();
|
File[] logs = getSortedLogFiles();
|
||||||
if (logs.length > MAX_LOG_FILES) {
|
if (logs.length > maxLogFiles) {
|
||||||
for (int i = MAX_LOG_FILES; i < logs.length; i++) {
|
for (int i = maxLogFiles; i < logs.length; i++) {
|
||||||
logs[i].delete();
|
logs[i].delete();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Ładowanie…
Reference in New Issue