Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge b23c660 into d81684e
Browse files Browse the repository at this point in the history
buenaflor authored Mar 23, 2023

Verified

This commit was signed with the committer’s verified signature. The key has expired.
danielleadams Danielle Adams
2 parents d81684e + b23c660 commit 8a1a524
Showing 3 changed files with 128 additions and 0 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -5,6 +5,7 @@
### Features

- Read integration list written by sentry gradle plugin from manifest ([#2598](https://github.com/getsentry/sentry-java/pull/2598))
- Add Logcat adapter ([#2620](https://github.com/getsentry/sentry-java/pull/2620))

### Fixes

18 changes: 18 additions & 0 deletions sentry-android-core/api/sentry-android-core.api
Original file line number Diff line number Diff line change
@@ -220,6 +220,24 @@ public final class io/sentry/android/core/SentryInitProvider {
public fun shutdown ()V
}

public final class io/sentry/android/core/SentryLogcatAdapter {
public fun <init> ()V
public static fun d (Ljava/lang/String;Ljava/lang/String;)I
public static fun d (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
public static fun e (Ljava/lang/String;Ljava/lang/String;)I
public static fun e (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
public static fun i (Ljava/lang/String;Ljava/lang/String;)I
public static fun i (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
public static fun v (Ljava/lang/String;Ljava/lang/String;)I
public static fun v (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
public static fun w (Ljava/lang/String;Ljava/lang/String;)I
public static fun w (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
public static fun w (Ljava/lang/String;Ljava/lang/Throwable;)I
public static fun wtf (Ljava/lang/String;Ljava/lang/String;)I
public static fun wtf (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
public static fun wtf (Ljava/lang/String;Ljava/lang/Throwable;)I
}

public final class io/sentry/android/core/SentryPerformanceProvider : android/app/Application$ActivityLifecycleCallbacks {
public fun <init> ()V
public fun attachInfo (Landroid/content/Context;Landroid/content/pm/ProviderInfo;)V
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
package io.sentry.android.core;

import android.util.Log;
import io.sentry.Breadcrumb;
import io.sentry.Sentry;
import io.sentry.SentryLevel;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;

/**
* This class replaces {@link android.util.Log} with its own implementations which creates a {@link
* io.sentry.Breadcrumb} for each log. It only replaces log functions that meet a minimum level set
* by the user on the Sentry Android Gradle Plugin.
*/
@ApiStatus.Internal
public final class SentryLogcatAdapter {

private static void addAsBreadcrumb(@NotNull String tag, @NotNull SentryLevel level, String msg) {
addAsBreadcrumb(tag, level, msg, null);
}

private static void addAsBreadcrumb(
@NotNull String tag, @NotNull SentryLevel level, Throwable tr) {
addAsBreadcrumb(tag, level, null, tr);
}

private static void addAsBreadcrumb(
@NotNull String tag, @NotNull SentryLevel level, String msg, Throwable tr) {
Breadcrumb breadcrumb = new Breadcrumb();
breadcrumb.setCategory("log");
breadcrumb.setMessage(msg);
breadcrumb.setLevel(level);
breadcrumb.setData("tag", tag);
if (tr != null) {
breadcrumb.setData("throwable", tr.getMessage());
}
Sentry.addBreadcrumb(breadcrumb);
}

public static int v(String tag, @NotNull String msg) {
addAsBreadcrumb(tag, SentryLevel.DEBUG, msg);
return Log.v(tag, msg);
}

public static int v(String tag, String msg, Throwable tr) {
addAsBreadcrumb(tag, SentryLevel.DEBUG, msg, tr);
return Log.v(tag, msg, tr);
}

public static int d(String tag, @NotNull String msg) {
addAsBreadcrumb(tag, SentryLevel.DEBUG, msg);
return Log.d(tag, msg);
}

public static int d(String tag, String msg, Throwable tr) {
addAsBreadcrumb(tag, SentryLevel.DEBUG, msg, tr);
return Log.d(tag, msg, tr);
}

public static int i(String tag, @NotNull String msg) {
addAsBreadcrumb(tag, SentryLevel.INFO, msg);
return Log.i(tag, msg);
}

public static int i(String tag, String msg, Throwable tr) {
addAsBreadcrumb(tag, SentryLevel.INFO, msg, tr);
return Log.i(tag, msg, tr);
}

public static int w(String tag, @NotNull String msg) {
addAsBreadcrumb(tag, SentryLevel.WARNING, msg);
return Log.w(tag, msg);
}

public static int w(String tag, String msg, Throwable tr) {
addAsBreadcrumb(tag, SentryLevel.WARNING, msg, tr);
return Log.w(tag, msg, tr);
}

public static int w(String tag, Throwable tr) {
addAsBreadcrumb(tag, SentryLevel.WARNING, tr);
return Log.w(tag, tr);
}

public static int e(String tag, @NotNull String msg) {
addAsBreadcrumb(tag, SentryLevel.ERROR, msg);
return Log.e(tag, msg);
}

public static int e(String tag, String msg, Throwable tr) {
addAsBreadcrumb(tag, SentryLevel.ERROR, msg, tr);
return Log.e(tag, msg, tr);
}

public static int wtf(String tag, String msg) {
addAsBreadcrumb(tag, SentryLevel.ERROR, msg);
return Log.wtf(tag, msg);
}

public static int wtf(String tag, @NotNull Throwable tr) {
addAsBreadcrumb(tag, SentryLevel.ERROR, tr);
return Log.wtf(tag, tr);
}

public static int wtf(String tag, String msg, Throwable tr) {
addAsBreadcrumb(tag, SentryLevel.ERROR, msg, tr);
return Log.wtf(tag, msg, tr);
}
}

0 comments on commit 8a1a524

Please sign in to comment.