美文网首页
关于Log封装

关于Log封装

作者: cat_coffee | 来源:发表于2018-04-23 09:43 被阅读0次

简单的记述一下android log日志打印的优化。

首先,我们要知道系统自带的log打印是有长度限制的,而这个限制我记得大约为4 1024个字节,所以在数据量过多的时候,打印是不完全的。*

其次,为什么要封装?

程序中,过多的log日志打印是会影响性能的,多到什么情况呢 ? 看我下面这个demo测试一下!

image image

这里做了个简单的测试,一个小循环10000次,打印或不打印耗时比较,相差约耗时84毫秒,或许有的人觉得无所谓,这么点时间而已,但不可否认的是log的打印确实会耗时。那么可以说此处也是一个处理优化的地方。

然后,继续说下一个问题。保密性

不清楚大家知道没,假设正式版发布后,如果log的不注释掉,关掉。别人是能读取到你的打印日志的,所以为了程序的安全,最好是在发布前,将打印的全关掉。

那么一个个去注释这工作量似乎不小吧,而且谁还记得哪里有没有遗漏,所以就有了我说的封装管理。

最后,就简单的上一下代码,其实很简单的一个工具类而已,即保证了日志输出的完整,又完善了日志的打印管理。

public class LogUtile {

private static boolean showFlag =true;

    private static StringTAG ="LogUtile_data";

    private static int logLenth =2000;

    public static void Log_d(String str) {

if (showFlag) {

if (str.length() >logLenth) {

Log_d_long(str, logLenth);

            }else

                Log.d(TAG, str);

        }

}

private static void Log_d_long(String str, int cutLength) {

String substring = str.substring(0, cutLength);

        String endStr = str.substring(cutLength, str.length());

        if (endStr.length() > cutLength) {

Log.d(TAG, substring);

            Log_d_long(endStr, cutLength);

        }else

            Log.d(TAG, endStr);

    }

public static void Log_d(String str, Exception exception) {

if (showFlag) {

if (str.length() >logLenth) {

Log_d_long(str, logLenth);

            }else

                Log.d(TAG, str, exception);

        }

}

}

相关文章

  • 关于Log封装

    简单的记述一下android log日志打印的优化。 首先,我们要知道系统自带的log打印是有长度限制的,而这个限...

  • JavaScript笔记

    代码笔记 JavaScript 封装自己的log函数 eg普通封装var log = function() { ...

  • Log封装

    一、log等级分类  log是在控制台打印输出运行日志的内容,可用于寻找bug用。  1、DEBUG Level ...

  • Android Timber(对Log类封装的一个工具)

    Timber其实就是对Android的Log类进行封装后的一个Log工具,平时我自己也有封装过,不过大神的封装非常...

  • Android常用工具类的封装

    Android常用工具类的封装 Android常用工具类的封装Log封装类sharedPreferences封装类...

  • Log 库

    C语言 EasyLogger zlog c-log syslog 推荐使用: zlog;大型项目可以考虑封装log...

  • 封装的log工具类

    一个封装好的log工具类,直接用了

  • python自定义封装logging模块

    #coding:utf-8importloggingclassTestLog(object):'''封装后的log...

  • 接口自动化测试框架实战:日志和数据库的封装

    今天完成两部分的内容,日志和数据库的封装。 log日志的封装 数据库的封装

  • Timber

    Timber原意是木材,JakeWharton大神编写的Log库,对安卓的Log进行了一层封装,让Log的处理以列...

网友评论

      本文标题:关于Log封装

      本文链接:https://www.haomeiwen.com/subject/tzdklftx.html