android开发必备日志打印工具类

今天给大家献上一款好用的日志打印工具。大家在平时的开发中用的最多的可能就是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");
    }
}

本工具源码下载

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

时间: 2024-10-22 11:16:16

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

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

直接上代码: package com.example.callstatus; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.io.StringWriter; import java.net.UnknownHostException; import java.text.SimpleDateFormat; impor

RecyclerView的使用(Android开发必备,替换掉ListView)

RecyclerView的使用(Android开发必备,替换掉ListView) 当有人看了你写的代码,说你现在还在使用ListView?是不是感觉快跟不上时代了啊!不错,今天就带给大家一个ListView的最新升级控件RecyclerView,Android 5.0推出的新控件,不过它在support-v7包,可以往下兼容,当你学会了RecyclerView之后,发现了它的强大,你就会替换到ListView和GridView了.    RecyclerView简介:          Recy

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

wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享android开发MD5加密工具类主要代码,供技术员参考学习. package com.gzcivil.utils; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgori

Android 开发必备

Android 开发必备 http://www.androiddevtools.cn/ 收集整理Android开发所需的Android SDK.开发中用到的工具.Android开发教程.Android设计规范,免费的设计素材等. http://wear.techbrood.com Android developer 最新国内镜像:http://wear.techbrood.com,包含Android最新文档以及Android Wear,Android TV,Android Auto各个子领域方面

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

1.Hello, Kotlin Bugly 技术干货系列内容主要涉及移动开发方向,是由 Bugly邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创,转载请标明出处. 1.1 Kotlin的身世 写了许久Java,有没有发现其实你写了太多冗余的代码? 后来你体验了一下Python,有没有觉得不写分号的感觉真是超级爽? 你虽然勤勤恳恳,可到头来却被NullPointerException折磨的死去活来,难道就没有受够这种日子么? 直到有一天你发现自己已经写了好几十万行代

Android开发必备的21个免费资源和工具

转载自: http://blog.csdn.net/shimiso/article/details/6788375 Android移动开发平台现在不是一个“火”字能形容的,今年Android平台在市场占有率上相比去年取得的886%增长!如果我只看增长率,iPhone据统计才有61%的增长.而创造了山寨概念的联发科也在近期宣布将进军Android.这些事实可以给你关于两个平台流行度的印像,但是事实上,这些数据告诉了智能机开发员的谁才是真正的赢家.在时下,智能机越来越流行,因此成为一个快速增长的An

Android开发实现HttpClient工具类

在Android开发中我们经常会用到网络连接功能与服务器进行数据的交互,为此Android的SDK提供了Apache的HttpClient来方便我们使用各种Http服务.你可以把HttpClient想象成一个浏览器,通过它的API我们可以很方便的发出GET,POST请求(当然它的功能远不止这些). 比如你只需以下几行代码就能发出一个简单的GET请求并打印响应结果: try {         // 创建一个默认的HttpClient         HttpClient httpclient =

年终小盘点:这十八个Android开发必备知识点,你都知道吗?

本篇文章主要介绍?Android?开发中的部分知识点,通过阅读本篇文章,您将收获以下内容: 一.查看CPU温度二.开机向导调试相关方法三.查看APP启动时间四.判断 user,userdebug 版本的方法五.修改截屏默认存储路径六.解析 kernel dump 方法七.SPRD 默认打开 Ylog 以及dumpsys enable方法八.判断是否正在 monkey 测试的方法九.修改MTK log 模式的方法十.MTK平台只开Mobile log方法十一.SPRD平台 只开Android lo

Android开发必备技能——修改debug签名

前言 从事Android开发的小伙伴们,想必都会遇到这样的问题.当你的应用中需要集成百度地图.极光推送等第三方平台时,会去申请一个叫做AppKey的东西.与此同时,你得提供下应用签名信息的MD5或SHA1.然后就悲催的发现,只有用指定的签名文件打包时,该功能才能正常使用.如果你用的是开发工具的debug keystore签名信息,直接run一下就好,如果你用的是APP发布时候的keystore,每次测试时都得export 一个apk.心中一万只草泥马在奔腾的有木有? 楼主之前的小伎俩就是,去申请