Android之LogUtil
提供debug与release的时候是否屏蔽打印信息,把信息选择性的进行保存,可以是否自动保存crash的堆栈信息。来自github上的一个开源项目,https://github.com/syxc/LogUtil/blob/master/src/org/syxc/util/LogUtil.java
这里我亲自测试他的功能,并且自定义更多功能及做相应的优化,并且打成一个jar的形式。
LogUtil.logoff = false 屏蔽打印
LogUtil.level = Log.ERROR 指定把高于或等于Error的信息保存到sdcard文件,因为最高的error权限是6,也就是说这里指定为大于6,即使是错误信息也不会写入sdcard里面。
LogUtil.saveDirName = "/xxx/log/" 目录名字,任意指定,如果不指定就在log目录下
以上三行推荐在Application的onCreate上输入
LogUtil.trace(int type , String tag , String msg) type:log的类型(error,warn等等) tag:输出标志 msg:输出日志
LogUtil.trace(int type , String tag , String msg , boolean isContinueWrite) type:log的类型(error,warn等等) tag:输出标志 msg:输出日志 isContinueWrite:默认是true,即是上面没有这个参数的方法, 表示继续在原有文件写入,如果是false则创建一个新的覆盖原来的它。
如果原来并没有创建过,则无论是false还是true都会创建一个新文件。
GlobalExceptionHandler globalExceptionHandler = LogUtil.processGlobalException(Application app, boolean isWriteIntoFile) app:传入的是Application对象并且写入sdcard卡 isWriteIntoFile:true表示写入sdcard卡,false则不写入。
globalExceptionHandler.setUncatchExceptionListener() 这个回调可以处理程序崩溃后自定义自己的操作,如上传错误信息,保存数据信息等等操作。
因为涉及到对sdcard的写入,所以还需要在AndroidManifest.xml加上以下权限:
<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
上传自已修改后的源文件:androidLogUtil.zip
这个是上面的jar包:androidUtil的jar包.zip
Android之LogUtil的更多相关文章
- Android仿人人客户端(v5.7.1)——个人主页(三)
转载请标明出处:http://blog.csdn.net/android_ls/article/details/9405089 声明:仿人人项目,所用所有图片资源都来源于其它Android移动应用,编 ...
- Android仿人人客户端(v5.7.1)——新鲜事之完整篇
转载请标明出处: http://blog.csdn.net/android_ls/article/details/9228083 声明:仿人人项目,所用所有图片资源都来源于其它Androi ...
- TraceView进行性能分析
一.TraceView概述 TraceView 是 Android 平台配备一个很好的性能分析的工具.它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到 method. 详细内容参考 ...
- Easy Tag Write(2)
package skyseraph.android.util.nfc; import com.google.common.collect.BiMap; import com.google.common ...
- Easy Tag Write(1)
package skyseraph.easytagwrite; import skyseraph.android.util.CustomDialog; import skyseraph.android ...
- activity-intent-startActivity-startActivityResult
一. Intent和startActivity 1.在一个Activtiy中可以使用startActivity()去开始另一个制定的Activity 但在android3.0(是针对平板出的产品)之后 ...
- ViewPager中使用自定义的ListView实例
这篇内容是上一篇的延续,因为在上一篇的测试ViewPager成功了,才能实现这一篇的和ListView合在一起使用 效果图如下: 不愿意说理论,直接上代码 1.清单文件 activity_main.x ...
- FileProvider的使用及应用更新时提示:解析包出错、失败等问题
Android 7.0以上的版本更新采用系统自带的DownloadManager更新 DOWNLOADPATH ="/download/" https://www.jianshu. ...
- Android 常用工具类之LogUtil,可以定位到代码行,双击跳转
package cn.utils; import android.util.Log; public class LogUtils { public static boolean isDebug = t ...
随机推荐
- C#实现盛大盛付通充值卡状态查询
今天有这样一需求,要求能够查询盛付通卡的状态,官网如下 http://www.801335.com/status/index.htm 刚一打开网址,发现两个输入框加一个验证码,心中一喜不是小 cas ...
- DML语句、创建和管理表
insert语句基本语法: insert into table(column) values(values); insert into dept (deptno,dname,loc) values(5 ...
- 7-15 Square Destroyer 破坏正方形 uva1603
先是处理所有的正方形 从边长为1开始 将其边存好 满边存好 然后不断扫描正方形 并且进行拆除 直到拆完或者 步数小于等于9(启发方程 因为n小于等于5 九次足以将所有的拆完) 代码实施有很多细 ...
- java.lang.ClassNotFoundException: net.sf.ezmorph.Morpher
java.lang.ClassNotFoundException: net.sf.ezmorph.Morpher 出现以上异常,可能是使用Json缺少ezmorph包: 以下是Json常用的包:ezm ...
- ref:详解MYSQL数据库密码的加密方式及破解方法
ref:https://blog.csdn.net/paul123456789io/article/details/53081921 MySQL数据库用户密码跟其它数据库用户密码一样,在应用系统代码中 ...
- PHP isset和empty 详细比较
找了几篇博文,这应该是说的最清楚的.链接如下:http://blog.chinaunix.net/uid-25311424-id-3966622.html
- 一步一步写数据结构(BST-二叉排序树)
二叉排序树的重要性不用多说,下面用c++实现二叉排序树的建立,插入,查找,修改,和删除.难点在于删除,其他几个相对比较简单. 以下是代码: #include<iostream> using ...
- 论 异常处理机制中的return关键字
Java中,执行try-catch-finally语句需要注意: 第一:return语句并不是函数的最终出口,如果有finally语句,这在return之后还会执行finally(return的值会暂 ...
- 如何定义最佳 Cache-Control 策略
定义最佳 Cache-Control 策略 按照以上决策树为您的应用使用的特定资源或一组资源确定最佳缓存策略.在理想的情况下,您的目标应该是在客户端上缓存尽可能多的响应,缓存尽可能长的时间,并且为每个 ...
- python lambda简单介绍
python lambda 在python中,如果想要创建函数需要使用关键字def,而如果想要创建匿名函数,就需要使用lambda. lambda创建的函数和def创建的函数有什么区别? def创建的 ...