设为首页 加入收藏

TOP

Android之崩溃日志管理(原创)(四)
2019-08-30 06:18:55 】 浏览:119
Tags:Android 崩溃 日志 管理 原创
ackTrace(); } String crashDump = "crashDump:" + "{" + dump + "}"; printWriter.close(); sb.append("&start---").append(lineSeparator); sb.append(logTime).append(lineSeparator); sb.append(appVerName).append(lineSeparator); sb.append(appVerCode).append(lineSeparator); sb.append(OsVer).append(lineSeparator); sb.append(vendor).append(lineSeparator); sb.append(model).append(lineSeparator); sb.append(mid).append(lineSeparator); sb.append(exception).append(lineSeparator); sb.append(crashMD5).append(lineSeparator); sb.append(crashDump).append(lineSeparator); sb.append("&end---").append(lineSeparator).append(lineSeparator) .append(lineSeparator); String bes = Base64.encodeToString(sb.toString().getBytes(), Base64.NO_WRAP); return bes; } }

项目调用封装类:LogCollector.java

/** * * 执行文件上传相关的类 * * * @author 吴晓畅 * */ public class LogCollector { private static final String TAG = LogCollector.class.getName(); private static String Upload_Url; private static Context mContext; private static boolean isInit = false; private static HttpParameters mParams; //初始化文件上传的url,数据等内容 public static void init(Context c , String upload_url , HttpParameters params){ if(c == null){ return; } if(isInit){ return; } Upload_Url = upload_url; mContext = c; mParams = params; //初始化自己定义的异常处理 CrashHandler crashHandler = CrashHandler.getInstance(c); crashHandler.init(); isInit = true; } /** * 执行文件上传的网路请求 * * if(isWifiOnly && !isWifiMode){ return; }表示只在wifi状态下执行文件上传 * * @param isWifiOnly */ public static void upload(boolean isWifiOnly){ if(mContext == null || Upload_Url == null){ Log.d(TAG, "please check if init() or not"); return; } if(!LogCollectorUtility.isNetworkConnected(mContext)){ return; } boolean isWifiMode = LogCollectorUtility.isWifiConnected(mContext); if(isWifiOnly && !isWifiMode){ return; } UploadLogManager.getInstance(mContext).uploadLogFile(Upload_Url, mParams); } /** * 用于设置是否为测试状态 * * @param isDebug true为是,false为否 如果是,能看到LOG日志,同时能够在将文件夹看到崩溃日志 */ public static void setDebugMode(boolean isDebug){ Constants.DEBUG = isDebug; LogHelper.enableDefaultLog = isDebug; } } 

3. 客户端接入使用

为通用项目设置is Library模式

 
 

实际android项目使用

添加Library

 
 

在Application子类中进行初始化


public class MyApplication extends Application { //后台地址地址 private static final String UPLOAD_URL = "http://192.168.3.153:8080/bengkuitest/servlet/Test"; @Override public void onCreate() { super.onCreate(); boolean isDebug = true; //设置是否为测试模式,如果是,同时能够在将文件夹看到崩溃日志 LogCollector.setDebugMode(isDebug); //params的数据可以为空 初始化LogCollector的相关数据,用于文件上传到服务器 LogCollector.init(getApplicationContext(), UPLOAD_URL, null); } } 

编写异常并上传异常

public class MainActivity extends Activity implements OnClickListener { private Button btn_crash; private Button btn_upload; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn_crash = (Button) findViewById(R.id.button1); btn_upload = (Button) findViewById(R.id.button2); btn_crash.setOnClickListener(this); btn_upload.setOnClickListener(this); } //产生异常 private void causeCrash(){ String s = null; s.split("1"); } //上传文件 private void uploadLogFi
首页 上一页 1 2 3 4 5 6 7 下一页 尾页 4/7/7
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇一起学Android之Http访问 下一篇Android之Realm详解(非原创)

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目