提供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的更多相关文章

  1. Android仿人人客户端(v5.7.1)——个人主页(三)

    转载请标明出处:http://blog.csdn.net/android_ls/article/details/9405089 声明:仿人人项目,所用所有图片资源都来源于其它Android移动应用,编 ...

  2. Android仿人人客户端(v5.7.1)——新鲜事之完整篇

    转载请标明出处: http://blog.csdn.net/android_ls/article/details/9228083       声明:仿人人项目,所用所有图片资源都来源于其它Androi ...

  3. TraceView进行性能分析

    一.TraceView概述 TraceView 是 Android 平台配备一个很好的性能分析的工具.它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到 method. 详细内容参考 ...

  4. Easy Tag Write(2)

    package skyseraph.android.util.nfc; import com.google.common.collect.BiMap; import com.google.common ...

  5. Easy Tag Write(1)

    package skyseraph.easytagwrite; import skyseraph.android.util.CustomDialog; import skyseraph.android ...

  6. activity-intent-startActivity-startActivityResult

    一. Intent和startActivity 1.在一个Activtiy中可以使用startActivity()去开始另一个制定的Activity 但在android3.0(是针对平板出的产品)之后 ...

  7. ViewPager中使用自定义的ListView实例

    这篇内容是上一篇的延续,因为在上一篇的测试ViewPager成功了,才能实现这一篇的和ListView合在一起使用 效果图如下: 不愿意说理论,直接上代码 1.清单文件 activity_main.x ...

  8. FileProvider的使用及应用更新时提示:解析包出错、失败等问题

    Android 7.0以上的版本更新采用系统自带的DownloadManager更新 DOWNLOADPATH ="/download/" https://www.jianshu. ...

  9. Android 常用工具类之LogUtil,可以定位到代码行,双击跳转

    package cn.utils; import android.util.Log; public class LogUtils { public static boolean isDebug = t ...

随机推荐

  1. GUC-10 线程八锁

    /* * 题目:判断打印的 "one" or "two" ? * * 1. 两个普通同步方法,两个线程,标准打印, 打印? //one two * 2. 新增 ...

  2. bzoj 4552

    4552 思路: 二分线段树: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 100005 #define ...

  3. 【LOJ】 #2033. 「SDOI2016」生成魔咒

    题解 就是字符集较大需要离散化和建边表的后缀自动机水题 每次会加入i个新的串,其中重复的就是i的父亲节点所在节点的长度,减掉即可 代码 #include <iostream> #inclu ...

  4. bzoj 1202: [HNOI2005]狡猾的商人

    我居然用暴力跑过去了... 思路:两个区间合成一个新的区间才会产生冲突, 我们用并查集维护前缀和, 0 - n 个节点分别表示sum[ 0 ] - sum[ n ], d[ i ] 表示 前缀i 和它 ...

  5. bzoj 1237 [SCOI2008]配对 贪心+dp

    思路:dp[ i ] 表示 排序后前 i 个元素匹配的最小值, 我们可以发现每个点和它匹配的点的距离不会超过2,这样就能转移啦. #include<bits/stdc++.h> #defi ...

  6. 黑马程序员_java基础笔记(07)...IO流

    —————————— ASP.Net+Android+IOS开发..Net培训.期待与您交流!—————————— IO(InputStream,outputStream)字节流 (Reader,Wr ...

  7. thinkphp3.2开启静态缓存与缓存规则设置

    网站的静态缓存对大访问量有很好的缓解作用,尤其对网站的大并发,可有效的缓解数据库的压力.在thinkphp中实现静态缓存很简单,thinkphp都已经封装好了直接调用即可. 静态缓存   首先设置 H ...

  8. linux 下安装jdk环境安装

    一.创建jdk安装目录mkdir /usr/local/java 二.将jdk解压到安装目录中,直接到java目录中,如果不是处理下不要有子目录 tar -zxvf jdk-8u91-linux-x6 ...

  9. 通过GeneXus如何快速构建微服务架构

    概览 “微服务”是一个非常广泛的话题,在过去几年里,市面上存在着各种不同的定义. 虽然对这种架构方式没有一个非常精确的定义,但仍然有一些概念具有代表性. 微服务有着许多围绕业务能力.自动化部署.终端智 ...

  10. 切换 NPM 镜像源

    转载:快速切换NPM源 我们介绍过cnpmjs.org和淘宝 npm 两个 NPM 镜像.除此之外,还有一些国外的 NPM 镜像.不同地区访问不同的镜像速度可能有差异,因此有时候需要切换 NPM 镜像 ...