Logging changes

* Change database log level
* Log error when reporting exceptions
pull/437/head
Alex Baker 9 years ago
parent 8bcd5303f3
commit ee72f95127

@ -2,6 +2,8 @@ package org.tasks.analytics;
import android.content.Context; import android.content.Context;
import com.google.android.gms.analytics.ExceptionParser;
import com.google.android.gms.analytics.ExceptionReporter;
import com.google.android.gms.analytics.GoogleAnalytics; import com.google.android.gms.analytics.GoogleAnalytics;
import com.google.android.gms.analytics.HitBuilders; import com.google.android.gms.analytics.HitBuilders;
import com.google.android.gms.analytics.StandardExceptionParser; import com.google.android.gms.analytics.StandardExceptionParser;
@ -14,13 +16,15 @@ import org.tasks.injection.ForApplication;
import javax.inject.Inject; import javax.inject.Inject;
import javax.inject.Singleton; import javax.inject.Singleton;
import timber.log.Timber;
@Singleton @Singleton
public class Tracker { public class Tracker {
private final GoogleAnalytics analytics; private final GoogleAnalytics analytics;
private final com.google.android.gms.analytics.Tracker tracker; private final com.google.android.gms.analytics.Tracker tracker;
private final StandardExceptionParser exceptionParser; private final ExceptionParser exceptionParser;
private Context context; private final Context context;
@Inject @Inject
public Tracker(@ForApplication Context context) { public Tracker(@ForApplication Context context) {
@ -28,10 +32,28 @@ public class Tracker {
analytics = GoogleAnalytics.getInstance(context); analytics = GoogleAnalytics.getInstance(context);
tracker = analytics.newTracker(R.xml.google_analytics); tracker = analytics.newTracker(R.xml.google_analytics);
tracker.setAppVersion(Integer.toString(BuildConfig.VERSION_CODE)); tracker.setAppVersion(Integer.toString(BuildConfig.VERSION_CODE));
exceptionParser = new StandardExceptionParser(context, null); final StandardExceptionParser standardExceptionParser = new StandardExceptionParser(context, null);
if (BuildConfig.DEBUG) { exceptionParser = new ExceptionParser() {
analytics.setDryRun(true); @Override
} public String getDescription(String thread, Throwable throwable) {
StringBuilder stack = new StringBuilder()
.append(standardExceptionParser.getDescription(thread, throwable))
.append("\n")
.append(throwable.getClass().getName())
.append("\n");
for (StackTraceElement element : throwable.getStackTrace()) {
stack.append(element.toString())
.append("\n");
}
return stack.toString();
}
};
ExceptionReporter reporter = new ExceptionReporter(
tracker,
Thread.getDefaultUncaughtExceptionHandler(),
context);
reporter.setExceptionParser(exceptionParser);
Thread.setDefaultUncaughtExceptionHandler(reporter);
} }
public void showScreen(String screenName) { public void showScreen(String screenName) {
@ -48,6 +70,7 @@ public class Tracker {
} }
public void reportException(Thread thread, Throwable t) { public void reportException(Thread thread, Throwable t) {
Timber.e(t, t.getMessage());
tracker.send(new HitBuilders.ExceptionBuilder() tracker.send(new HitBuilders.ExceptionBuilder()
.setDescription(exceptionParser.getDescription(thread.getName(), t)) .setDescription(exceptionParser.getDescription(thread.getName(), t))
.setFatal(false) .setFatal(false)

@ -2,6 +2,8 @@ package org.tasks.analytics;
import javax.inject.Inject; import javax.inject.Inject;
import timber.log.Timber;
public class Tracker { public class Tracker {
@Inject @Inject
@ -18,11 +20,11 @@ public class Tracker {
} }
public void reportException(Throwable t) { public void reportException(Throwable t) {
Timber.e(t, t.getMessage());
} }
public void reportException(Thread thread, Throwable t) { public void reportException(Thread thread, Throwable t) {
Timber.e(t, t.getMessage());
} }
public void reportEvent(Tracking.Events event) { public void reportEvent(Tracking.Events event) {

@ -17,6 +17,8 @@ import org.tasks.injection.ForApplication;
import javax.inject.Inject; import javax.inject.Inject;
import javax.inject.Singleton; import javax.inject.Singleton;
import timber.log.Timber;
@Singleton @Singleton
public class Tracker { public class Tracker {
@ -69,6 +71,7 @@ public class Tracker {
} }
public void reportException(Thread thread, Throwable t) { public void reportException(Thread thread, Throwable t) {
Timber.e(t, t.getMessage());
tracker.send(new HitBuilders.ExceptionBuilder() tracker.send(new HitBuilders.ExceptionBuilder()
.setDescription(exceptionParser.getDescription(thread.getName(), t)) .setDescription(exceptionParser.getDescription(thread.getName(), t))
.setFatal(false) .setFatal(false)

@ -84,7 +84,6 @@ public class TeslaUnreadReceiver extends InjectingBroadcastReceiver {
} catch (IllegalArgumentException ex) { } catch (IllegalArgumentException ex) {
/* Fine, TeslaUnread is not installed. */ /* Fine, TeslaUnread is not installed. */
} catch (Exception e) { } catch (Exception e) {
Timber.e(e, e.getMessage());
tracker.reportException(e); tracker.reportException(e);
} }
} }

@ -151,7 +151,7 @@ public class DatabaseDao<TYPE extends AbstractModel> {
* @return # of deleted items * @return # of deleted items
*/ */
public int deleteWhere(Criterion where) { public int deleteWhere(Criterion where) {
Timber.d("deleteWhere(%s)", where); Timber.v("deleteWhere(%s)", where);
return database.delete(table.name, return database.delete(table.name,
where.toString(), null); where.toString(), null);
} }
@ -206,7 +206,7 @@ public class DatabaseDao<TYPE extends AbstractModel> {
if (result.get()) { if (result.get()) {
item.markSaved(); item.markSaved();
if (BuildConfig.DEBUG) { if (BuildConfig.DEBUG) {
Timber.d("%s %s", op, item.toString()); Timber.v("%s %s", op, item.toString());
} }
} }
} }

@ -55,7 +55,6 @@ import javax.inject.Inject;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
import timber.log.Timber;
import static org.tasks.date.DateTimeUtils.newDateTime; import static org.tasks.date.DateTimeUtils.newDateTime;
@ -266,7 +265,6 @@ public final class TaskEditFragment extends InjectingFragment implements Toolbar
} }
} }
} catch(Exception e) { } catch(Exception e) {
Timber.e(e, e.getMessage());
tracker.reportException(e); tracker.reportException(e);
} }
return false; return false;

@ -54,7 +54,6 @@ public class StartupService {
try { try {
database.openForWriting(); database.openForWriting();
} catch (SQLiteException e) { } catch (SQLiteException e) {
Timber.e(e, e.getMessage());
tracker.reportException(e); tracker.reportException(e);
return; return;
} }

@ -4,7 +4,6 @@ import android.app.Activity;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.support.design.widget.Snackbar;
import android.view.View; import android.view.View;
import com.todoroo.andlib.data.Property; import com.todoroo.andlib.data.Property;
@ -64,7 +63,6 @@ public class RepeatConfirmationReceiver extends BroadcastReceiver {
try { try {
showSnackbar(taskListFragment, task, oldDueDate, newDueDate); showSnackbar(taskListFragment, task, oldDueDate, newDueDate);
} catch (Exception e) { } catch (Exception e) {
Timber.e(e, e.getMessage());
tracker.reportException(e); tracker.reportException(e);
} }
} }

Loading…
Cancel
Save