Skip to content

Ayvytr/Logger

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]