logutils 一个强大的Android日志管理器【新 https://github.com/orhanobut/logger】

来源:互联网 发布:免费销售记账软件 编辑:程序博客网 时间:2024/06/05 15:11

发现新工具,更加强大
https://github.com/orhanobut/logger

(简单,漂亮和强大的记录器为Android)
7097星


来源:
https://github.com/pengwei1024/LogUtils


相关介绍页面:
https://yq.aliyun.com/articles/10072
https://www.ctolib.com/LogUtils-Android.html
http://www.open-open.com/lib/view/open1437834466490.html


github
https://github.com/pengwei1024/LogUtils

LogUtils


More convenient and easy to use android Log manager

1. Features

  • 支持直接打印数据集合,如List、Set、Map、数组等
  • 全局配置log输出
  • 个性化设置Tag
  • 准确显示调用方法、行,快速定位所在文件位置
  • 支持android系统对象Intent、Bundle打印
  • 提供release-no-op版本
  • 支持日志写入文件

2. screenshot

日志说明

这里写图片描述

个性化设置Tag

这里写图片描述

打印数据列表

这里写图片描述

打印数组

这里写图片描述

打印对象本身属性和继承的属性

这里写图片描述

打印系统对象Intent

这里写图片描述

3. Simple

// 输出字符串LogUtils.d("12345");// 输出参数LogUtils.d("12%s3%d45", "a", 0);// 输出异常LogUtils.d(new NullPointerException("12345"));// 输出对象Person person = new Person();person.setAge(11);person.setName("pengwei");person.setScore(37.5f);LogUtils.d(person);// 对象为空LogUtils.d(null);// 输出json(json默认debug打印)String json = "{'a':'b','c':{'aa':234,'dd':{'az':12}}}";LogUtils.json(json);// 打印数据集合List<Person> list1 = new ArrayList<>();for(int i = 0; i < 4; i++){    list1.add(person);}LogUtils.d(list1);// 打印数组double[][] doubles = {{1.2, 1.6, 1.7, 30, 33},                {1.2, 1.6, 1.7, 30, 33},                {1.2, 1.6, 1.7, 30, 33},                {1.2, 1.6, 1.7, 30, 33}};LogUtils.d(doubles);// 自定义tagLogUtils.tag("我是自定义tag").d("我是打印内容");// 其他用法LogUtils.v("12345");LogUtils.i("12345");LogUtils.w("12345");LogUtils.e("12345");LogUtils.wtf("12345");

options

方法 描述 取值 缺省 configAllowLog 是否允许日志输出 boolean true configTagPrefix 日志log的前缀 String “LogUtils” configShowBorders 是否显示边界 boolean false configLevel 日志显示等级 LogLevelType LogLevel.TYPE_VERBOSE addParserClass 自定义对象打印 Parser 无 configFormatTag 个性化设置Tag String %c{-5} configMethodOffset 方法偏移量 int 0
写入日志文件参数
方法 描述 取值 缺省 configLog2FileEnable 是否支持写入文件 boolean false configLog2FilePath 写入日志路径 String /sdcard/LogUtils/logs/ configLog2FileNameFormat 写入日志文件名 string %d{yyyyMMdd}.txt configLog2FileLevel 写入日志等级 LogLevelType LogLevel.TYPE_VERBOSE configLogFileEngine 写入日志实现 LogFileEngine 无 configLogFileFilter 写入日志过滤 LogFileFilter 无
Demo
LogUtils.getLogConfig()                .configAllowLog(true)                .configTagPrefix("MyAppName")                .configShowBorders(true)                .configFormatTag("%d{HH:mm:ss:SSS} %t %c{-5}")# 支持写入日志到文件 LogUtils.getLog2FileConfig().configLog2FileEnable(true)                // targetSdkVersion >= 23 需要确保有写sdcard权限                .configLog2FilePath("/sdcard/项目文件夹/logs/")                .configLog2FileNameFormat("%d{yyyyMMdd}.txt")                 .configLogFileEngine(new LogFileEngineFactory());              
configFormatTag参数详解
变量 简写 描述 参数 示例 输出结果 %% 无 转义% 无 %%d %d %date %d 当前时间 格式化时间,如HH:mm:ss %d{HH:mm:ss:SSS} 10:00:46:238 %thread %t 当前线程名称 无 %t thread-127 %caller %c 线程信息和类路径 一般用%c{-5}就好了,用法为%c{整数}或者%caller{整数},整数为包名路径,如路径为com.apkfuns.logutils.demo.MainActivity.onCreate(MainActivity.java:135),%c{1}输出com,以.分割的第一个,如果小于0就是排除前面n个,如%c{-1} ,结果为apkfuns.logutils.demo.activity.MainActivity.onCreate(MainActivity.java:135), %c{-5} MainActivity.onCreate(MainActivity.java:135)
自定义对象打印

实现Parser接口,并实现parseClassType() 和parseString()方法,再通过addParserClass()配置到LogUtil
详细文档

4. Usage

Gradle

compile 'com.apkfuns.logutils:library:1.5.1.1'
release-no-op版本
debugCompile 'com.apkfuns.logutils:library:1.5.1.1'releaseCompile 'com.apkfuns.logutils:logutils-no-op:1.5.1.1'
日志写入到文件
  • 依赖log2file库(基于okio)
compile 'com.apkfuns.log2file:log2file:1.0.0'...若本地已经依赖okio(如pokhttp)请排除compile('com.apkfuns.log2file:log2file:1.0.0') {    exclude module: 'okio'}...LogUtils.getLog2FileConfig().configLogFileEngine(new LogFileEngineFactory()); 
  • 实现LogFileEngine接口
public class MyLogFileEngine implements LogFileEngine {    @Override    public void writeToFile(File logFile, String logContent, LogFileParam params) {        ....    }}...LogUtils.getLog2FileConfig().configLogFileEngine(new MyLogFileEngine()); 

别忘了添加写文件权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

Eclipse导入Jar

click here to download *.jar

5. Skills

  • 从Log切换到LogUtils
  • 为LogUtils设置快捷键
  • 修改LogCat显示字体颜色

疑问

偶然,日志堆栈溢出,方式不对???
只好,单独写了个简单的。


end

阅读全文
0 0