Java源码示例:com.bugsnag.android.Bugsnag
示例1
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
}
Bugsnag.init(this);
EventBus.getDefault().registerSticky(this);
SharedPreferences preferences = getSharedPreferences(getString(R.string.app_name), Context.MODE_PRIVATE);
mUserName = preferences.getString(Config.USER_NAME, "");
if (mUserName.equals("")) {
Intent intent = new Intent(this, UserConfigActivity.class);
startActivityForResult(intent, USERNAME_REQUEST_CODE);
} else {
initView();
checkUpdate();
}
}
示例2
@Override public void onCreate() {
DaggerTelecineComponent.builder().application(this).build().inject(this);
super.onCreate();
if (BuildConfig.DEBUG) {
Timber.plant(new Timber.DebugTree());
} else {
Bugsnag.init(this, BuildConfig.BUGSNAG_KEY);
Bugsnag.setReleaseStage(BuildConfig.BUILD_TYPE);
Bugsnag.setProjectPackages("com.jakewharton.telecine");
final BugsnagTree tree = new BugsnagTree();
Bugsnag.getClient().beforeNotify(new BeforeNotify() {
@Override public boolean run(Error error) {
tree.update(error);
return true;
}
});
Timber.plant(tree);
}
}
示例3
public static int w(Throwable ex) {
if (BuildConfig.BETA_RELEASE)
try {
Bugsnag.notify(ex, new OnErrorCallback() {
@Override
public boolean onError(@NonNull Event event) {
event.setSeverity(Severity.INFO);
return true;
}
});
} catch (Throwable ex1) {
ex1.printStackTrace();
}
return android.util.Log.w(TAG, ex + "\n" + android.util.Log.getStackTraceString(ex));
}
示例4
public static int e(Throwable ex) {
if (BuildConfig.BETA_RELEASE)
try {
Bugsnag.notify(ex, new OnErrorCallback() {
@Override
public boolean onError(@NonNull Event event) {
event.setSeverity(Severity.WARNING);
return true;
}
});
} catch (Throwable ex1) {
ex1.printStackTrace();
}
return android.util.Log.e(TAG, ex + "\n" + android.util.Log.getStackTraceString(ex));
}
示例5
public static int w(String prefix, Throwable ex) {
if (BuildConfig.BETA_RELEASE)
try {
Bugsnag.notify(ex, new OnErrorCallback() {
@Override
public boolean onError(@NonNull Event event) {
event.setSeverity(Severity.INFO);
return true;
}
});
} catch (Throwable ex1) {
ex1.printStackTrace();
}
return android.util.Log.w(TAG, prefix + " " + ex + "\n" + android.util.Log.getStackTraceString(ex));
}
示例6
public static int e(String prefix, Throwable ex) {
if (BuildConfig.BETA_RELEASE)
try {
Bugsnag.notify(ex, new OnErrorCallback() {
@Override
public boolean onError(@NonNull Event event) {
event.setSeverity(Severity.WARNING);
return true;
}
});
} catch (Throwable ex1) {
ex1.printStackTrace();
}
return android.util.Log.e(TAG, prefix + " " + ex + "\n" + android.util.Log.getStackTraceString(ex));
}
示例7
static void setCrashReporting(boolean enabled) {
try {
if (enabled)
Bugsnag.startSession();
} catch (Throwable ex) {
ex.printStackTrace();
}
}
示例8
static void breadcrumb(String name, Map<String, String> crumb) {
try {
Map<String, Object> ocrumb = new HashMap<>();
for (String key : crumb.keySet())
ocrumb.put(key, crumb.get(key));
Bugsnag.leaveBreadcrumb(name, ocrumb, BreadcrumbType.LOG);
} catch (Throwable ex) {
ex.printStackTrace();
}
}
示例9
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Bugsnag.init(this);
// Bugsnag.notify(new RuntimeException("Non-fatal"));
// testJavaCrash();
testNativeCrash();
}
示例10
@Override
public void onCreate() {
super.onCreate();
if (BuildConfig.DEBUG) Timber.plant(new Timber.DebugTree());
DaggerAppComponent.builder()
.androidModule(new AndroidModule(this))
.build()
.injectMembers(this);
Timber.plant(bugsnagTree);
Client bugsnagClient = Bugsnag.init(this);
bugsnagClient.beforeNotify(errorHandler);
Timber.d("Bugsnag setup done!");
}
示例11
@Override
protected void log(int priority, String tag, String message, Throwable t) {
message = System.currentTimeMillis() + " " + priorityToString(priority) + " " + message;
synchronized (buffer) {
buffer.addLast(message);
if (buffer.size() > BUFFER_SIZE) {
buffer.removeFirst();
}
}
if (t != null && priority == Log.ERROR) {
Bugsnag.notify(t);
}
}
示例12
@Override
public void onCreate() {
super.onCreate();
if (sInstance == null) {
sInstance = this;
}
if("release".equals(BuildConfig.BUILD_TYPE)){
Bugsnag.init(this);
}
mContext = getApplicationContext();
Stetho.initialize(
Stetho.newInitializerBuilder(this)
.enableDumpapp(
Stetho.defaultDumperPluginsProvider(this))
.enableWebKitInspector(
Stetho.defaultInspectorModulesProvider(this))
.build());
sAppModule = new AppModule(this);
sAppComponent = DaggerAppComponent.builder()
.appModule(sAppModule)
.build();
sAppComponent.inject(this);
LocalDataManager.initialize(mContext);
}