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適配器}
新聞熱點
疑難解答