Increase log size for internal users.

fork-5.53.8
Greyson Parrelli 2021-06-25 16:55:15 -04:00
rodzic 1b8758b657
commit b86acb9773
2 zmienionych plików z 11 dodań i 8 usunięć

Wyświetl plik

@ -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());

Wyświetl plik

@ -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();
} }
} }