package com.dappervision.wearscript;
import android.app.Activity;
import com.joshdholtz.sentry.Sentry;
import com.joshdholtz.sentry.Sentry.SentryEventBuilder.SentryEventLevel;
public class Log {
private static final String TAG = "Log";
private static boolean inited = false;
private static String dsn = null;
private static Activity activity;
public static void register(Activity act) {
setup();
activity = act;
if (dsn != null)
Sentry.init(activity, dsn);
}
static public void setDsn(String dsn) {
setup();
Log.dsn = dsn;
if (activity != null) {
d(TAG, "setDsn");
Sentry.init(activity, dsn);
}
}
static void setup() {
if (inited)
return;
inited = true;
}
static private void logRaven(final String tag, final String message, final SentryEventLevel level) {
setup();
if (dsn == null)
return;
if (activity == null)
return;
activity.runOnUiThread(new Thread() {
public void run() {
Sentry.captureEvent(new Sentry.SentryEventBuilder()
.setMessage(message)
.setLevel(level)
.setCulprit(tag)
.setTimestamp(System.currentTimeMillis())
);
}
});
}
static private void logRaven(final String tag, final String message, final SentryEventLevel level, final Throwable tr) {
setup();
if (dsn == null)
return;
activity.runOnUiThread(new Thread() {
public void run() {
Sentry.captureEvent(new Sentry.SentryEventBuilder()
.setMessage(message)
.setLevel(level)
.setCulprit(tag)
.setException(tr)
.setTimestamp(System.currentTimeMillis())
);
}
});
}
public static int d(String tag, String message) {
//logRaven(tag, message, SentryEventLevel.DEBUG);
return android.util.Log.d(tag, message);
}
public static int i(String tag, String message) {
//logRaven(tag, message, SentryEventLevel.INFO);
return android.util.Log.i(tag, message);
}
public static int w(String tag, String message) {
//logRaven(tag, message, SentryEventLevel.WARNING);
return android.util.Log.w(tag, message);
}
public static int w(String tag, String message, Throwable tr) {
logRaven(tag, message, SentryEventLevel.WARNING);
return android.util.Log.w(tag, message, tr);
}
public static int e(String tag, String message) {
logRaven(tag, message, SentryEventLevel.ERROR);
return android.util.Log.e(tag, message);
}
public static int e(String tag, String message, Throwable tr) {
logRaven(tag, message, SentryEventLevel.ERROR);
return android.util.Log.e(tag, message, tr);
}
}