日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Android >内容正文

Android

java 崩溃日志_Android收集程序崩溃日志的方法

發(fā)布時(shí)間:2023/12/20 Android 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 崩溃日志_Android收集程序崩溃日志的方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

安卓Android如何手機(jī)程序崩潰日志并上傳到服務(wù)器呢?直接會(huì)用到Thread線程里面的UncaughtExceptionHandler接口方法,我們可以自定義一個(gè)類CrashHandler,代碼如下:package?com.tpyyes;

import?java.io.File;

import?java.io.FileWriter;

import?java.io.IOException;

import?java.io.InputStreamReader;

import?java.io.LineNumberReader;

import?java.lang.Thread.UncaughtExceptionHandler;

import?java.util.Date;

import?android.content.Context;

import?android.os.Environment;

import?android.util.Log;

public?class?CrashHandler?implements?UncaughtExceptionHandler?{

private?static?CrashHandler?instance;

public?static?CrashHandler?getInstance()?{

if?(instance?==?null)?{

instance?=?new?CrashHandler();

}

return?instance;

}

public?void?init(Context?ctx)?{

Thread.setDefaultUncaughtExceptionHandler(this);

}

/**

*?核心方法,當(dāng)程序crash?會(huì)回調(diào)此方法,?Throwable中存放這錯(cuò)誤日志

*/

@Override

public?void?uncaughtException(Thread?arg0,?Throwable?arg1)?{

String?logPath;

if?(Environment.getExternalStorageState().equals(

Environment.MEDIA_MOUNTED))?{

//logPath?=?Environment.getExternalStorageDirectory().getAbsolutePath()?+?File.separator?+?File.separator?+?"log";

logPath?=?"/sdcard/Download/";

File?file?=?new?File(logPath);

if?(!file.exists())?{

file.mkdirs();

}

try?{

FileWriter?fw?=?new?FileWriter(logPath?+?File.separator??+?"errorlog.log",?true);

fw.write(new?Date()?+?"\n");

//?錯(cuò)誤信息

//?這里還可以加上當(dāng)前的系統(tǒng)版本,手機(jī)型號(hào),MAC地址?等等信息

StackTraceElement[]?stackTrace?=?arg1.getStackTrace();

fw.write(arg1.getMessage()?+?"\n");

for?(int?i?=?0;?i?

fw.write("file:"?+?stackTrace[i].getFileName()?+?"?class:"

+?stackTrace[i].getClassName()?+?"?method:"

+?stackTrace[i].getMethodName()?+?"?line:"

+?stackTrace[i].getLineNumber()?+?"\n");

}

fw.write("\n");

fw.close();

//?上傳錯(cuò)誤信息到服務(wù)器

//?uploadToServer();

}?catch?(IOException?e)?{

Log.e("crash?handler",?"load?file?failed...",?e.getCause());

}

}

arg1.printStackTrace();

android.os.Process.killProcess(android.os.Process.myPid());

}

}

如何在Android程序中使用我們自定義的程序崩潰日志呢?只需要在程序入口MainActivity類中的onCreate方法中加入如下代碼即可://全局異常捕獲

CrashHandler?crashHandler?=?CrashHandler.getInstance();

crashHandler.init(getApplicationContext());

至于上傳生成的errorlog.log日志文件如何上傳,就和普通的Java文件上傳是一樣的,等再onCreate方法中生成之后,就調(diào)用上傳文件的方法即可,這里不再贅述。

來源網(wǎng)站:太平洋學(xué)習(xí)網(wǎng),轉(zhuǎn)載請(qǐng)注明出處:http://www.tpyyes.com/a/android/1015.html

總結(jié)

以上是生活随笔為你收集整理的java 崩溃日志_Android收集程序崩溃日志的方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。