这不是我需要的答案,但也不错
最后我找到了一个使用此类将日志发送到 Sentry 面板的解决方案:哨兵级 https://github.com/joshdholtz/Sentry-Android/blob/master/sentry-android/src/main/java/com/joshdholtz/sentry/Sentry.java
然而它需要一些改变才能工作,但现在它就像一个魅力。
唯一让我担心的是,当我在 Sentry 面板中打开事件时,此警告将显示在页面底部:
旧版本的 java SDK 报告了此事件。
使用它来初始化和捕获日志哨兵级 https://github.com/joshdholtz/Sentry-Android/blob/master/sentry-android/src/main/java/com/joshdholtz/sentry/Sentry.java将其代码复制到您在项目中创建的新类并找到以下代码:
header.append("Sentry ")
.append(String.format("sentry_version=%s,", sentryVersion))
.append(String.format("sentry_client=sentry-android/%s,", BuildConfig.SENTRY_ANDROID_VERSION))
.append(String.format("sentry_key=%s,", publicKey))
.append(String.format("sentry_secret=%s", secretKey));
并替换BuildConfig.SENTRY_ANDROID_VERSION
带有包含哨兵库版本的字符串。例如我在我的应用程序/build.gradle:
implementation 'io.sentry:sentry-android:1.7.10'
现在我应该更换BuildConfig.SENTRY_ANDROID_VERSION
with "1.7.10"
并替换此行中的字符串:
conn.setRequestProperty("User-Agent", "sentry-android/" + BuildConfig.SENTRY_ANDROID_VERSION);
并删除注释中的这一行:
* @see com.joshdholtz.sentry.Sentry#addHttpBreadcrumb(String, String, int)
现在你只需要将这行代码添加到 MainActivity 中来初始化 Sentry:
SentryLog.init(this, yourDSN);
SentryLog 是我的新类的名称,其中包含 Sentry.class 代码。
注意:您必须添加已弃用的 DSN,该 DSN 较长。
现在你可以通过添加这一行来测试它:
SentryLog.captureMessage("This Message Captured by Alireza Noorali.");
但我会很高兴得到更好的解决方案。