Replace logback with slf4j-android

pull/384/head
Alex Baker 10 years ago
parent f9c7e5ea19
commit 2ba321f39e

@ -82,7 +82,7 @@ dependencies {
compile 'com.android.support:design:23.1.1'
compile 'com.jakewharton:butterknife:7.0.1'
compile 'com.google.guava:guava-jdk5:13.0'
compile 'com.google.guava:guava-jdk5:17.0'
compile ('com.rubiconproject.oss:jchronic:0.2.6') {
transitive = false
}
@ -102,9 +102,7 @@ dependencies {
exclude group: 'org.apache.httpcomponents', module: 'httpclient'
}
compile 'org.slf4j:slf4j-api:1.7.7'
compile 'com.github.tony19:logback-android-classic:1.1.1-2'
apk 'com.github.tony19:logback-android-core:1.1.1-2'
compile 'org.slf4j:slf4j-android:1.7.13'
androidTestCompile ('org.mockito:mockito-core:1.9.5') {
transitive = false

@ -56,8 +56,6 @@ public class Tasks extends InjectingApplication {
public void onCreate() {
super.onCreate();
preferences.setupLogger();
tracker.setTrackingEnabled(preferences.isTrackingEnabled());
}
}

@ -1,11 +1,8 @@
package org.tasks.preferences;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.preference.CheckBoxPreference;
import android.preference.Preference;
import org.tasks.R;
import org.tasks.injection.InjectingPreferenceActivity;
@ -16,10 +13,6 @@ public class HelpAndFeedbackActivity extends InjectingPreferenceActivity {
@Inject DeviceInfo deviceInfo;
@Inject Preferences preferences;
@Inject PermissionChecker permissionChecker;
@Inject PermissionRequestor permissionRequestor;
private CheckBoxPreference debugLogging;
@Override
public void onCreate(Bundle savedInstanceState) {
@ -35,38 +28,6 @@ public class HelpAndFeedbackActivity extends InjectingPreferenceActivity {
if (!deviceInfo.isPlayStoreAvailable()) {
remove(R.string.rate_tasks);
}
debugLogging = (CheckBoxPreference) findPreference(getString(R.string.p_debug_logging));
debugLogging.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
if (newValue != null && (boolean) newValue) {
if (permissionRequestor.requestFileWritePermission()) {
enableDebugLogging(true);
}
} else {
enableDebugLogging(false);
}
return true;
}
});
enableDebugLogging(
preferences.getBoolean(R.string.p_debug_logging, false) &&
permissionChecker.canWriteToExternalStorage());
}
private void enableDebugLogging(boolean enabled) {
debugLogging.setChecked(enabled);
preferences.setupLogger(enabled);
}
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (requestCode == PermissionRequestor.REQUEST_FILE_WRITE) {
enableDebugLogging(grantResults[0] == PackageManager.PERMISSION_GRANTED);
} else {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
}
private void remove(int resId) {

@ -3,7 +3,6 @@ package org.tasks.preferences;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.res.Resources;
import android.os.Environment;
import android.preference.PreferenceManager;
import android.text.TextUtils;
@ -28,14 +27,6 @@ import java.util.concurrent.atomic.AtomicReference;
import javax.inject.Inject;
import ch.qos.logback.classic.Level;
import ch.qos.logback.classic.LoggerContext;
import ch.qos.logback.classic.encoder.PatternLayoutEncoder;
import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.core.rolling.FixedWindowRollingPolicy;
import ch.qos.logback.core.rolling.RollingFileAppender;
import ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy;
import static android.content.SharedPreferences.Editor;
import static com.todoroo.andlib.utility.AndroidUtilities.atLeastJellybean;
@ -47,8 +38,6 @@ public class Preferences {
private static final String PREF_SORT_SORT = "sort_sort"; //$NON-NLS-1$
private static final String FILE_APPENDER_NAME = "FILE";
protected final Context context;
private final DeviceInfo deviceInfo;
private final PermissionChecker permissionChecker;
@ -100,10 +89,6 @@ public class Preferences {
return defaultCalendar != null && !defaultCalendar.equals("-1") && !defaultCalendar.equals("0");
}
public void setTrackingEnabled(boolean enabled) {
setBoolean(R.string.p_collect_statistics, enabled);
}
public boolean isTrackingEnabled() {
return getBoolean(R.string.p_collect_statistics, true);
}
@ -288,59 +273,6 @@ public class Preferences {
}
}
public void setupLogger() {
if (permissionChecker.canWriteToExternalStorage()) {
setupLogger(getBoolean(R.string.p_debug_logging, false));
}
}
public void setupLogger(boolean enableDebugLogging) {
try {
ch.qos.logback.classic.Logger rootLogger = (ch.qos.logback.classic.Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
if (enableDebugLogging) {
rootLogger.setLevel(Level.DEBUG);
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
attachRollingFileAppender(rootLogger);
}
} else {
rootLogger.setLevel(Level.INFO);
rootLogger.detachAppender(FILE_APPENDER_NAME);
}
} catch (Exception e) {
log.error(e.getMessage(), e);
}
}
private void attachRollingFileAppender(ch.qos.logback.classic.Logger rootLogger) {
final String path = Environment.getExternalStorageDirectory().getAbsolutePath();
final LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
final RollingFileAppender<ILoggingEvent> rfa = new RollingFileAppender<ILoggingEvent>() {{
setName(FILE_APPENDER_NAME);
setContext(loggerContext);
setFile(path + "/tasks-debug.log");
setEncoder(new PatternLayoutEncoder() {{
setContext(loggerContext);
setPattern("%date [%thread] %-5level %logger{35} - %msg%n");
start();
}});
setTriggeringPolicy(new SizeBasedTriggeringPolicy<ILoggingEvent>() {{
setMaxFileSize("5MB");
start();
}});
}};
FixedWindowRollingPolicy rollingPolicy = new FixedWindowRollingPolicy() {{
setContext(loggerContext);
setParent(rfa);
setMinIndex(1);
setMaxIndex(3);
setFileNamePattern(path + "/tasks-debug.%i.log.zip");
start();
}};
rfa.setRollingPolicy(rollingPolicy);
rfa.start();
rootLogger.addAppender(rfa);
}
public boolean useNotificationActions() {
return atLeastJellybean() && getBoolean(R.string.p_rmd_notif_actions_enabled, true);
}
@ -413,19 +345,6 @@ public class Preferences {
return directory;
}
/**
* @return export directory for tasks, or null if no SD card
*/
private static File defaultExportDirectory() {
String storageState = Environment.getExternalStorageState();
if (storageState.equals(Environment.MEDIA_MOUNTED)) {
String path = Environment.getExternalStorageDirectory().getAbsolutePath();
path = path + "/astrid";
return new File(path);
}
return null;
}
public long[] getVibrationPattern() {
int vibrationCount = getIntegerFromString(R.string.p_vibrate_count, 3);
long vibrationDuration = getIntegerFromString(R.string.p_vibrate_duration, 1000);

@ -344,7 +344,6 @@
<string name="quiet_hours">Тихи часове</string>
<string name="attachment_directory">Директория за прикачени файлове</string>
<string name="backup_directory">Директория за резервни копия</string>
<string name="debug_logging">Логване на грешки за дебъгване</string>
<string name="miscellaneous">Разни</string>
<string name="synchronization">Синхронизация</string>
<string name="enabled">Активирано</string>

@ -323,7 +323,6 @@
<string name="quiet_hours">Ruhezeiten</string>
<string name="attachment_directory">Anhängeordner</string>
<string name="backup_directory">Sicherungsordner</string>
<string name="debug_logging">Debug Logging</string>
<string name="miscellaneous">Verschiedenes</string>
<string name="synchronization">Synchronisierung</string>
<string name="enabled">Aktiviert</string>

@ -325,7 +325,6 @@
<string name="quiet_hours">Horario en silencio</string>
<string name="attachment_directory">Directorio de archivos adjuntos</string>
<string name="backup_directory">Directorio de la copia de seguridad</string>
<string name="debug_logging">Registro de depuración</string>
<string name="miscellaneous">Miscelánea</string>
<string name="synchronization">Sincronización</string>
<string name="enabled">Habilitado</string>

@ -343,7 +343,6 @@
<string name="quiet_hours">消音時間</string>
<string name="attachment_directory">添付ディレクトリ</string>
<string name="backup_directory">ディレクトリをバックアップ</string>
<string name="debug_logging">デバッグログ</string>
<string name="miscellaneous">その他</string>
<string name="synchronization">同期</string>
<string name="enabled">有効</string>

@ -345,7 +345,6 @@ Tasks의 백업에서 당신의 일정을 복구하시기 바랍니다.
<string name="quiet_hours">무음 시간대</string>
<string name="attachment_directory">첨부파일 위치</string>
<string name="backup_directory">백업 위치</string>
<string name="debug_logging">디버그 기록</string>
<string name="miscellaneous">기타</string>
<string name="synchronization">동기화</string>
<string name="enabled">활성화됨</string>

@ -337,7 +337,6 @@
<string name="sound">Geluid</string>
<string name="quiet_hours">Rustperiode</string>
<string name="attachment_directory">Bijlage directory</string>
<string name="debug_logging">Fouten loggen</string>
<string name="miscellaneous">Diversen</string>
<string name="synchronization">Synchronisatie</string>
<string name="enabled">Actief</string>

@ -335,7 +335,6 @@ das tarefas através de um backup em Definições-&gt;Sincronização e backup-&
<string name="quiet_hours">Horas de silêncio</string>
<string name="attachment_directory">Diretório do anexo</string>
<string name="backup_directory">Diretório de backup</string>
<string name="debug_logging">Registo de depuração</string>
<string name="miscellaneous">Outras</string>
<string name="synchronization">Sincronização</string>
<string name="enabled">Ativo</string>

@ -342,7 +342,6 @@
<string name="quiet_hours">Тихие часы:</string>
<string name="attachment_directory">Путь к вложениям</string>
<string name="backup_directory">Папка резервных копий</string>
<string name="debug_logging">Разрешить лог отладки</string>
<string name="miscellaneous">Прочие настройки</string>
<string name="synchronization">Синхронизация</string>
<string name="enabled">Показывать уведомления</string>

@ -327,7 +327,6 @@
<string name="quiet_hours">Tiché hodiny</string>
<string name="attachment_directory">Príloha adresára</string>
<string name="backup_directory">Zalóhovať adresár</string>
<string name="debug_logging">Zapisovať do denníka ladenia</string>
<string name="miscellaneous">Rôzne</string>
<string name="synchronization">Synchronizácia</string>
<string name="enabled">Povolené</string>

@ -218,7 +218,6 @@
<string name="p_use_dark_theme">use_dark_theme</string>
<string name="p_use_dark_theme_widget">use_dark_theme_widget</string>
<string name="p_debug_logging">debug_logging</string>
<string name="TEA_ctrl_title_pref">TEA_ctrl_title_pref</string> <!-- Deprecated -->
<string name="TEA_ctrl_when_pref">TEA_ctrl_when_pref</string>

@ -66,7 +66,6 @@
<string name="quiet_hours">Quiet hours</string>
<string name="attachment_directory">Attachment directory</string>
<string name="backup_directory">Backup directory</string>
<string name="debug_logging">Debug logging</string>
<string name="miscellaneous">Miscellaneous</string>
<string name="synchronization">Synchronization</string>
<string name="enabled">Enabled</string>

@ -31,8 +31,4 @@
android:key="@string/contact_developer"
android:title="@string/contact_developer" />
<CheckBoxPreference
android:key="@string/p_debug_logging"
android:title="@string/debug_logging" />
</PreferenceScreen>
Loading…
Cancel
Save