今天给大家献上一款好用的日志打印工具。大家在平时的开发中用的最多的可能就是Log.i("",""),Log.e("","")...,在要查看的日志比较少的情况下,这种方法用起来确实方便,很容易写,也很容易查看,然而不知道大家有没有遇到过这样一种情况,如果你要查看的数据量非常大,然后用Log类打印出来以后,却发现只显示了一部分数据,大部分数据被截断了。

是的,log打印出来的日志长度是有限的,我之前由于要分析一段从服务器获取的数据,数据量比较大,用log类打印之后只能看到一部分数据,大部分数据都被截断了,后来就自己写了一个日志打印工具类,把日志打印到手机SD卡上,这样就能看到完整的数据,该工具我已封装好,分享给大家。

public class LogTools {

    public static void dailyLog(String title, String log) {
try {
// 如果外部存储卡存在且可读写
if (Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)) {
Date date = new Date();
SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
SimpleDateFormat tf = new SimpleDateFormat("HH:mm:ss:SSS");
String path = Environment.getExternalStorageDirectory()
.getAbsolutePath()
+ File.separator
+ "mylog"
+ File.separator
+ "debuglog["
+ df.format(date)
+ "]"
+ ".txt";
File file = new File(path);
// 如果文件不存在,则重新创建
if (!file.exists()) {
// 最后一级是文件,前面是路径,如果路径不存在则创建路径
if (!file.getParentFile().exists()) {
file.getParentFile().mkdirs();
}
// 创建日志文件
file.createNewFile();
}
//写日志
FileWriter fw = new FileWriter(file, true);
fw.flush();
fw.write("\n[" + df.format(date) +"--"+ tf.format(date) + "]\n");
fw.write(title + ": " + log);
fw.write("\n\n");
fw.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}

调用:

public class MainActivity extends Activity {

    @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LogTools.dailyLog("我的日志", "----33222211111111118838777777777777766666666666444444444");
}
}

本工具源码下载

版权声明:本文为博主原创文章,未经博主允许不得转载。若有错误地方,还望批评指正,不胜感激。

android开发必备日志打印工具类的更多相关文章

  1. Android开发调试日志工具类[支持保存到SD卡]

    直接上代码: package com.example.callstatus; import java.io.File; import java.io.FileWriter; import java.i ...

  2. Android 开发必备

    Android 开发必备 http://www.androiddevtools.cn/ 收集整理Android开发所需的Android SDK.开发中用到的工具.Android开发教程.Android ...

  3. wemall app商城源码android开发MD5加密工具类

    wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享android开发MD5加密工具类主要代码,供 ...

  4. 【Bugly 技术干货】Android开发必备知识:为什么说Kotlin值得一试

    1.Hello, Kotlin Bugly 技术干货系列内容主要涉及移动开发方向,是由 Bugly邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创,转载请标明出处. 1. ...

  5. Android 开发必备的知识点——JVM基础【转】

    image 1.JVM与操作系统的关系 Java Virtual Machine JVM 全称 Java Virtual Machine,也就是我们耳熟能详的 Java 虚拟机.它能识别 .class ...

  6. [转载]Android开发必备的21个免费资源和工具

    转载自: http://blog.csdn.net/shimiso/article/details/6788375 Android移动开发平台现在不是一个“火”字能形容的,今年Android平台在市场 ...

  7. Android开发实现HttpClient工具类

    在Android开发中我们经常会用到网络连接功能与服务器进行数据的交互,为此Android的SDK提供了Apache的HttpClient来方便我们使用各种Http服务.你可以把HttpClient想 ...

  8. Android utils 之 日志工具类

    工具类 在开发的过程中,我们时常会对代码执行特定的处理,而这部分处理在代码中可能多次用到,为了代码的统一性.规范性等,通过建工具类的方式统一处理.接下来我会罗列各种工具类. 日志工具类 在utils文 ...

  9. 6本Android开发必备图书

    学习一样新事物或许有多种方式,报培训班,看视频,向高手请教等等,但一本好书往往可以让你少走很多弯路,事半功倍.今天与大家分享一些Android开发值得一读的书籍,希望对新手安卓开发者们有所帮助. 1. ...

随机推荐

  1. 修改 Analysis Service 服务器模式

    原网址:http://cathydumas.com/2012/04/23/changing-an-analysis-services-instance-to-tabular-mode/ Say you ...

  2. 开源网站管理工具—Altman

    0×00前言 之前用过几款webshell工具,有B/C的也有C/S的,有的只能用于php或者aspx,当然个人用得最多.觉得用得舒服的也只有菜刀了. 但是毕竟菜刀是好几年之前的产物了,而且也已经停止 ...

  3. mysql Partition(分区)初探

    mysql Partition(分区)初探   表数据量大的时候一般都考虑水平拆分,即所谓的sharding.不过mysql本身具有分区功能,可以实现一定程度 的水平切分.  mysql是具有MERG ...

  4. ASP.NET之HttpModule拦截404异常

    Httpmodule代码: public class Error404Module : IHttpModule { public void Init(HttpApplication context) ...

  5. 如何在C++中使用WebService

    gsoap主页 http://sourceforge.net/projects/gsoap2   使用gsoap生成所需的WebService 下载后的gsoap包为:(点击到我的资源中下载) 将他解 ...

  6. Android Training精要(一)ActionBar上级菜单导航图标

    Navigation Up(ActionBar中的上级菜单导航图标) 在android 4.0中,我们需要自己维护activity之间的父子关系. 导航图标ID为android.R.id.home @ ...

  7. XtraForm中OfficeSkins以及BonusSkin皮肤的设置

    前提 http://www.cnblogs.com/chucklu/p/4786629.html 在上一篇文章的基础上,现在来使用其他主题的皮肤 一.其他皮肤主题 一共有3种类型的主题: 1.默认的 ...

  8. how to uninstall devkit

    http://www.uninstallapp.com/article/How-to-uninstall-Perl-Dev-Kit-PDK-8.0.1.289861.html PerfectUnins ...

  9. Discuz! x 2.5-3.0 beta 存储型跨站漏洞

    漏洞版本: Discuz x 2.5 - 3.0 漏洞描述: Discuz! 已拥有11年以上的应用历史和200多万网站用户案例 是全球成熟度最高.覆盖率最大的论坛软件系统之一,淘帖处发表评论,直接插 ...

  10. JSONP跨域的原理解析(转)

    JavaScript是一种在Web开发中经常使用的前端动态脚本技术.在JavaScript中,有一个很重要的安全性限制,被称为"Same-Origin Policy"(同源策略). ...