Logger 是一款Android平台上的简单、优雅、强大的开源日志库。
Logger提供了以下方法:
打印线程的信息
打印类的信息
打印方法的信息
优雅的打印JSON数据
优雅的打印换行符
打印简洁的信息
点击日志跳转至源码
原生Log的缺点:1.日志太长,会被直接截掉,无法打印全;2.日志信息不够直观
感受下Logger打印的日志:
JSON日志
在app根目录的buil.gradle文件中加入依赖
compile 'com.orhanobut:logger:1.15'和普通的Log一样,Logger支持五种级别的日志打印方法:
Logger.v();Logger.d();Logger.i();Logger.w();Logger.e();还有一种不常用的方法:
// what a terrible failure// 可怕的失败,报告一个永远不可能发生的情况Logger.wtf("Hello World!");打印一条info级别的日志,默认的TAG是PRETTYLOGGER,看下效果:
Logger.i("Hello World!");
INFO级别日志
3.打印更多类型的数据
Logger还支持打印JSON、xml、集合、数组。
打印JSON
String JSON_CONTENT = "{/"weatherinfo/":{/"city/":/"北京/",/"cityid/":/"101010100/"," + "/"temp/":/"-2/",/"WD/":/"西北风/",/"WS/":/"3级/",/"SD/":/"241%/",/"WSE/":/"3/"," + "/"time/":/"10:61/",/"isRadar/":/"1/",/"Radar/":/"JC_RADAR_AZ9010_JB/"}}";Logger.json(JSON_CONTENT);
JSON日志
打印XML
String XML_CONTENT = "<resp><city>北京</city><updatetime>16:10</updatetime><wendu>23</wendu>" + "<fengli>3级</fengli><shidu>19%</shidu><fengxiang>北风</fengxiang></resp>";Logger.xml(XML_CONTENT);
XML日志
打印集合
List<String> list = new ArrayList<>();list.add("Hello");list.add("World");Logger.d(list);
集合日志
打印数组的方式和集合类似,就不再举例了。
4.打印异常
try { int a = 6 / 0;} catch (Exception e) { Logger.e(e, "Exception");}
异常日志
5.格式化字符串
Logger还提供了格式化字符串的功能。
Logger.d("Hello %s%s", "World", "!");
格式化字符串
6.自定义打印TAG
自定义全局TAG
新建一个application类LoggerDemoApplication,在onCreate方法中调用Logger.init(TAG)。
public class LoggerDemoApplication extends Application { private String TAG = "LoggerDemo"; @Override public void onCreate() { super.onCreate(); Logger.init(TAG); }}在AndroidManifest中加入application的name属性。
<application android:name=".LoggerDemoApplication" ...</application>
全局TAG
自定义单个TAG
Logger.t("MyTag").d("Hello World!");
单个TAG
7.关闭日志打印
在LoggerDemoApplication中,设置log的级别为NONE即可关闭日志打印。
Logger.init(TAG).logLevel(LogLevel.NONE);8.更多设置
Logger .methodCount(3) // 设置打印方法栈的个数,默认是2 .hideThreadInfo() // 隐藏线程信息,默认显示 .methodOffset(2) // 设置调用堆栈的偏移值,默认是0 .logAdapter(new AndroidLogAdapter()); // 自定义Log适配器}
新闻热点
疑难解答