`
wx1568145609
  • 浏览: 17525 次
文章分类
社区版块
存档分类
最新评论

Android第三方log库——Logger

 
阅读更多

Log在Android日常开发中的重要性不言而喻,出现bug后的第一件事基本都是先看log。但是在使用Android原生Log类时,通常需要先定义一个静态TAG,然后Log.d(TAG,"message");,为了解决在项目上线时去掉log的需求,我们通常会再封装一个LogUtil类来实现这个功能,未免有些繁琐。既然有现成的轮子可以更高效、更简洁、更美观的解决log的问题,那我们何乐而不为呢。

OverView

Simple, pretty and powerful logger for android

正如Github主页https://github.com/orhanobut/logger介绍的一样,Logger的使用特别简单,相比Android原生log只多了一步初始化操作,但是Logger会让打印更下明晰,更加美观。如下:

Android Studio配置

implementation 'com.orhanobut:logger:2.2.0'

初始化

Logger需要在项目的Application中进行初始化操作,也可以根据具体需求自定义属性。

基础使用

Logger.addLogAdapter(new AndroidLogAdapter());

控制隐藏日志

Logger.addLogAdapter(new AndroidLogAdapter(){
    @Override
    public boolean isLoggable(int priority, @Nullable String tag) {
        //也可以根据priority的VERBOSE、DEBUG、INFO、WARN、ERROR等不同级别
        //进行过滤,只在发布版本中保留ERROR的打印等
        return BuildConfig.DEBUG;   //只在DEBUG模式下打印log
    }
});

自定义属性

FormatStrategy formatStrategy = PrettyFormatStrategy.newBuilder()
        .showThreadInfo(true)                   //是否打印当前线程
        .methodCount(2)                         //方法数显示多少行,默认两行
        .methodOffset(5)                        //隐藏方法内部调用到偏移量,默认5
        .tag("Logger Demo")                     //自定义TAG,Logger打印会使用同一个TAG
        .build();
Logger.addLogAdapter(new AndroidLogAdapter(formatStrategy));

保存log文件

FormatStrategy formatStrategy = CsvFormatStrategy.newBuilder()
        .tag("TAG")
        .build();
Logger.addLogAdapter(new DiskLogAdapter(formatStrategy){
    @Override
    public boolean isLoggable(int priority, @Nullable String tag) {
        return BuildConfig.DEBUG;
    }
});

自动保存到log文件这个功能比较坑的是不能指定log文件路径,只能使用默认的路径

打印

d、e、w、v、i和wtf

Logger.d("Log d");
Logger.e("Log e");
Logger.w("Log w");
Logger.v("Log v");
Logger.i("Log i");
Logger.wtf("Log wtf");

每种打印方法都有多个重载方法,不同重载方法的差异各位自己摸索吧,不具体说了,大同小异。 需要注意的是各种只有一个参数的打印方法中,只有Logger.d的参数是Object其他都是String型变量。

打印Exception

try {
    int[] a = {1,2,3};
    a[4] = 4;
} catch (Exception e) {
    e.printStackTrace();
    Logger.e(e, "message");
}

为什么单独说下Exception的打印呢,一来Exception的打印方式是有点特别,再者主要是展示Logger的打印真的是既美观又直观啊。系统打印与Logger的对比如下:

打印xml和json

Logger.json(jsonStr);
Logger.xml(xmlStr);

这两个方法会是json和xml数据进行格式化输入,更易于阅读。如下:

临时TAG

因为Logger使用统一的TAG,如果想要使用不同的TAG进行打印可以:

Logger.t("MyTag").d("用临时TAG打印");

转载于:https://my.oschina.net/zhongsm/blog/3018908

分享到:
评论

相关推荐

    Log4Qt第三方日志库

    在"Log4Qt第三方日志库"的5.12及以上版本中,它已被验证与MSVC2019(Microsoft Visual C++ 2019)兼容,这意味着开发者可以使用这个版本的编译器来构建和集成Log4Qt到他们的Qt项目中。然而,值得注意的是,这个...

    monitor —— logger 日志监控

    支持自开发,扩展还可用于其他数据采集,在此不一一描述,有意向者自取,logger支持如下: 支持跨平台 windows/linux 支持配置热更新 支持socket断线重连重传 支持内存共享 支持日志文本分类存储 支持日志自动存储...

    Notepad++插件AndroidLogger 64位版本

    AndroidLogger是Notepad++的一个查看android log的插件,不过由于近期插件没有更新,而自己使用的NDP7.6已经是64位版本了,不能再直接使用了。于是找来源码重新发布了64位版本,希望能有所帮助。

    示范如何在android工程中使用log4j记录日志

    然而,由于Android系统对第三方库的限制,直接在Android工程中使用Log4j需要一些额外的步骤。本文将详细讲解如何在Android项目中集成和使用Log4j。 首先,我们需要理解Log4j的基本概念。Log4j主要包括三个核心组件...

    Android-Logger-log.zip_android_android log

    此外,还有许多第三方工具如DDMS(Dalvik Debug Monitor Service)和Android Studio的Logcat视图,它们提供了更友好的界面和更强大的分析功能。 5. 日志优化与最佳实践: - 适度使用日志:避免在性能关键路径上...

    Android-Log4a是一个基于mmap高性能高可用的Android日志收集框架

    Log4a is an mmap based, high-performance, highly available Android log collection framework | Log4a 是一个基于 mmap, 高性能、高可用的 Android 日志收集框架

    带Androidlogger插件的notepad++

    【标题】"带Androidlogger插件的notepad++"是一个专为Android开发者设计的文本编辑器增强版本,它集成了Androidlogger插件,使得在使用Notepad++进行Android代码编辑时,可以方便地查看和分析日志信息。Notepad++...

    Android 开源日志库 Logger 使用教程

    `Logger`是一个常见的开源日志库,它提供了比Android自带的`Log`类更强大、更方便的功能。本教程将深入探讨如何使用`Logger`库来提升你的Android日志记录体验。 1. **日志库的选择** Android默认的日志系统`Log`...

    AndroidLogger——MGYH.zip

    【AndroidLogger——MGYH.zip】是一个与Android平台相关的压缩包,从文件名可以推测它包含了一个名为"AndroidLogger"的组件或者库。这个组件可能是用于日志记录和调试目的,帮助开发者收集和分析应用程序运行时的...

    android-logging-log4j-1.0.3

    在Android中,由于原生的`Log`类功能相对有限,开发者往往选择使用如log4j这样的第三方库来增强日志处理能力。 "android-logging-log4j-1.0.3"是一个专为Android平台定制的log4j版本,它将log4j的功能集成到Android...

    日志输出库spdlog

    `spdlog`是一个高效、现代且功能丰富的C++日志库,它为开发者提供了灵活的日志记录解决方案。这个库的设计目标是提供高性能、轻量级的日志记录,同时保持易于使用和配置。在本文中,我们将深入探讨`spdlog`的主要...

    android-logging-log4j-1.0.3.jar

    `android-logging-log4j-1.0.3.jar`这个库文件就是为了解决这个问题,它提供了适配Android的Log4j实现,允许开发者在Android应用中无缝集成Log4j,并将日志信息存储到SD卡上,便于后期分析和调试。 三、集成与使用 ...

    64位版AndroidLogger.zip

    传统的日志查看工具可能无法满足日益复杂的开发需求,因此,出现了专门针对Android系统日志查看的插件——AndroidLogger。本文将详细介绍64位版AndroidLogger的特性、安装与使用方法,以及它如何优化Android日志查看...

    Notepad++ 插件,AndroidLogger.V1.2.7. 可以让安卓日志自动显示颜色

    Android应用程序在开发过程中会产生大量的日志信息,通常这些日志是以纯文本格式存储,以.log为扩展名。默认情况下,这些日志文件在Notepad++中显示时,只有黑白两色,对于开发者来说,阅读和分析可能变得困难。...

    AndroidStudio 使用log4j记录日志,按照大小定期滚动日志Demo

    本文将详细介绍如何在Android Studio中使用log4j库来记录日志,并实现按照日志文件大小自动滚动的功能,以及如何进行日志内容的格式化输出。 首先,log4j是一款广泛使用的日志记录框架,它提供了灵活的日志配置和...

    log4cxx第三方库

    **log4cxx第三方库** log4cxx是Apache软件基金会开发的一个C++的日志记录框架,它是基于log4j(Java版本)设计的,为C++应用程序提供了强大的日志记录功能。这个库的主要目标是提供一个灵活、高效且可扩展的日志...

    开源日志库Logger使用Demo

    开源日志库Logger提供了一种更为高效、灵活且功能丰富的日志记录解决方案,相比于Android自带的`Log`类,它具有更多的定制化选项和更好的可读性。下面我们将详细探讨Logger库的使用及其优势。 Logger库通常通过...

    Android显示Log信息(带行号)

    Android社区也有一些优秀的第三方日志库,如` Timber`,它提供了一个更高级的日志框架,并且支持自定义日志格式,包括添加行号。使用`Timber`时,你可以设置一个树(Tree)来处理日志输出,例如: ```java public...

    Android Studio 多模式Log打印

    在实际开发中,还可以结合第三方日志库如` Timber`或`SLF4J`,进一步提升日志管理的灵活性和效率。 总的来说,掌握如何在Android Studio中实现多模式的日志打印是每个开发者必备的技能。理解日志的使用和自定义,有...

    Android-logger日志打印工具

    "Android-logger日志打印工具"是一个专门为Android平台设计的日志库,它提供了比Android原生`Log`类更加强大、灵活和可定制的日志输出功能。下面将详细介绍这个工具的主要特性、使用方法以及它如何提升Android应用的...

Global site tag (gtag.js) - Google Analytics