Logger
简介
一个简单,漂亮,功能强大的日志系框架
项目地址
https://github.com/orhanobut/logger
功能
- 线程的信息
- 类的信息
- 方法的信息
- 将 JSON 文本人性化输出
- 将换行符人性化输出
- 简洁的输出
- 从日志跳转到源码
gradle配置
compile 'com.orhanobut:logger:1.15'
初始化设置
设置是否显示日志,默认:LogLevel.FULL
Logger.init().logLevel(LogLevel.NONE)
设置tag,默认:PRETTYLOGGER
String YOUR_TAG = "YOUR TAG";
Logger.init(YOUR_TAG);
隐藏线程信息,默认:显示线程信息
Logger.init().hideThreadInfo();
显示方法个数,默认:2
Logger.init().methodCount(1);
显示方法偏移量,默认:0
Logger.init().methodOffset(0);
使用举例
使用方式1:
package gift.witch.exercise;
import android.app.Activity;
import android.os.Bundle;
import com.orhanobut.logger.Logger;
public class LoggerMainActivity extends Activity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_kmain);
Logger.init("XXX");
Logger.v("Verbose");
Logger.d("Debug");
Logger.i("Info");
Logger.w("Warn");
Logger.e("Error");
Logger.wtf("Wtf");
String JSON_CONTENT = "[{\"key\":3}]";
Logger.json(JSON_CONTENT);
String XML_CONTENT = "<?xml version=\"1.0\"?>\n" +
"<note>\n" +
"<body>Don't forget me this weekend!</body>\n" +
"</note>";
Logger.xml(XML_CONTENT);
}
@Override
protected void onDestroy() {
super.onDestroy();
}
}
格式化string
Logger.d("string: %s %d", "string value", 5); // String.format
对Array, Map, Set 和 List的支持
package gift.witch.exercise;
import android.app.Activity;
import android.os.Bundle;
import com.orhanobut.logger.Logger;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
public class LoggerMainActivity extends Activity{
public class LoggerObject{
public String mLoggerObject;
public LoggerObject(String loggerObject){
mLoggerObject = loggerObject;
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_kmain);
Logger.init("XXX");
HashSet<String> hashSet = new HashSet<>();
hashSet.add("hashSet1");
hashSet.add("hashSet2");
Logger.d(hashSet);
String[] strings = new String[]{"strings1","strings2"};
Logger.d(strings);
Map<String,String> map = new HashMap<>();
map.put("key1","value1");
map.put("key2","value2");
Logger.d(map);
List<String> list = new ArrayList<>();
list.add("list1");
list.add("list2");
Logger.d(list);
List<LoggerObject> objects = new ArrayList<LoggerObject>();
objects.add(new LoggerObject("loggerObject1"));
objects.add(new LoggerObject("loggerObject2"));
Logger.d(objects);
}
@Override
protected void onDestroy() {
super.onDestroy();
}
}
其他使用方式
Logger.init("XXX");
Logger.t("tag").d("增加了tag标签");
Logger.t(1).d("只显示1个方法");
Logger.t("tag",3).d("增加一个tag标签并只显示3个方法");
t()方法,增加标签和控制显示方法数
========扩展内容=======
Hugo
https://github.com/JakeWharton/hugo
Timber
https://github.com/JakeWharton/timber