Skip to content

Ayvytr/Logger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2556403 · Jun 17, 2022

History

52 Commits
Dec 23, 2021
Jun 17, 2022
Dec 22, 2021
Jun 17, 2022
Mar 30, 2017
Dec 23, 2021
Mar 30, 2017
Jun 17, 2022
Dec 22, 2021
Jun 17, 2022
Mar 30, 2017
Mar 30, 2017
Dec 23, 2021
Oct 6, 2018

Repository files navigation

Maven Central License

Logger

Simple, pretty and powerful logger for android(简单,漂亮,强大的Android日志工具)

提供了:

- 线程信息
- 类信息
- 方法名
- Json字符串格式化打印
- 遇到"\n"字符换行显示
- 清除输出
- 跳转到源代码
- 你想要的各种输出效果

MavenCentral

//3.3.1 logger的L可大写,后续版本改为小写
implementation 'io.github.ayvytr:logger:3.3.3'

使用

多参数使用

L.e("message", "arg1", 2, "arg3");

Array, Map, Set 和 List 输出

L.i("Array", 1, 2, "aa", "bb");
L.i("List", list);
L.v("Map", map);
L.e("Set", set);
L.w("Collection", list, map, set);

第一个参数什么类型都可以

L.i(1, 2, "aa", "bb");
L.i(list);
L.v(map);
L.e(set);
L.w(list, map, set);

Log based

L.t("mytag").d("hello");

设置Tag

随时更改
L.t("MyTag").e(1);
直接设置
L.settings().tag("MyTag");

更改输出的方法数量 (聪明的你是不是发现了什么?)

L.settings().methodCount(10);
L.t(1).d("hello");

更改方法栈偏移(方法调用信息将会前移数量,和前边一张图片比较一下)

L.settings().methodOffset(10);

隐藏线程信息

L.settings().hideThreadInfo();

不想显示方法调用信息

L.settings().methodCount(0);

打印Json

L.json(YOUR_JSON_DATA);

直接打印异常

L.e(exception,"message");

设置(入口:L.settings())

L
  .settings()                  // 获取Settings
  .tag(YOUR_TAG)                  // 默认tag: PRETTYLOGGER
  .methodCount(3)                 // 默认为 2
  .hideThreadInfo()               // 隐藏线程信息(默认显示)
  .logLevel(LogLevel.NONE)        // 默认 LogLevel.FULL
  .methodOffset(2)                // default 0
  .LogAdapter(new AndroidLogAdapter()); //default AndroidLogAdapter
}

你的无(biàn)理(tài)要求我都能满足

默认的样子

L.d("hello");
L.d("hello", "world", 5);   

L.d("hello");
L.e("hello");
L.w("hello");
L.v("hello");
L.wtf("hello");
L.json(JSON_CONTENT);
L.xml(XML_CONTENT);
L.log(DEBUG, "tag", "message", throwable);

我要每个日志都单独被框住

L.settings().showBottomBorder(true);
L.d("hello");
L.d("hello", "world", 5);   

我要每条日志连起来(默认)

我只想要我日志内容,不要框子

L.settings().justShowMessage(true);
L.d("hello");
L.d("hello", "world", 5);   

我只想用,参数都不想填一个(我会帮你打印类和方法名)

L.settings().justShowMessage(true);
L.d();
L.w();   

我要屏蔽日志(试试看能不能打印出来?)

L.settings().showLog(false);

替代我的LogAdapter

class CustomLogAdapter Implement LogAdapter{}
settings.LogAdapter(new CustomLogAdapter())

Notes

  • 使用日志筛选,格式更整齐

  • 确认关掉日志换行选项

  • Release使用LogLevel.NONE不输出任何日志

ChangeLog

  • 3.3.3
    • 修改日志双竖线后没空格,不对齐问题
    • 修改isJustShowMessage()==true时不显示双竖线
  • 3.3.2
    • 限制行默认长度为160
    • 删除json和xml打印方法
    • 修改空log:[Null or Empty]改为[NULL]