[英]How to disable the logging of ACRA
我在應用程序中使用ACRA進行崩潰報告。 (簡而言之,ACRA是用於將崩潰報告發送給開發人員的工具。)
即使在發行版本中,我也可以在設備的logcat中看到其日志(例如,當它發送崩潰報告時,它會發送許多帶有“ ACRA”標簽的日志行)。
有沒有辦法禁用其日志記錄?
根據以下評論,讓我再次強調:我要求禁用ACRA本身的日志記錄。 這個問題與ACRA崩潰或應用崩潰期間的系統logcat無關。
我認為最好是提供一個有關我的意思的示例:
04-13 02:33:50.980: D/ACRA(4560): Using custom Report Fields
04-13 02:33:51.170: I/ACRA(4560): READ_LOGS not allowed. ACRA will not include LogCat and DropBox data.
04-13 02:33:51.170: D/ACRA(4560): Writing crash report file 1667311131000.stacktrace.
04-13 02:33:51.200: D/ACRA(4560): About to start ReportSenderWorker from #handleException
04-13 02:33:51.200: D/ACRA(4560): Waiting for Toast + worker...
要禁用ACRA的日志記錄,您可能要使用ACRALog
接口的以下實現:
public class NoAcraLog implements ACRALog {
@Override
public int v(String tag, String msg) {
return 0;
}
@Override
public int v(String tag, String msg, Throwable tr) {
return 0;
}
@Override
public int d(String tag, String msg) {
return 0;
}
@Override
public int d(String tag, String msg, Throwable tr) {
return 0;
}
@Override
public int i(String tag, String msg) {
return 0;
}
@Override
public int i(String tag, String msg, Throwable tr) {
return 0;
}
@Override
public int w(String tag, String msg) {
return 0;
}
@Override
public int w(String tag, String msg, Throwable tr) {
return 0;
}
@Override
public int w(String tag, Throwable tr) {
return 0;
}
@Override
public int e(String tag, String msg) {
return 0;
}
@Override
public int e(String tag, String msg, Throwable tr) {
return 0;
}
@Override
public String getStackTraceString(Throwable tr) {
return null;
}
}
向ACRA
提供此類的實例:
ACRA.setLog(new NoAcraLog());
這將禁用ACRA的所有日志記錄,因為上述實現將無濟於事。 (僅供參考:通常ACRA使用AndroidLogDelegate
將日志消息重定向到Log
類。)
關於“啟用/禁用系統日志”的這一部分可能會有所幫助-https: //github.com/ACRA/acra/wiki/AdvancedUsage#enabledisable-system-logs
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.