Android 如何優雅的打印日志
1.介紹
Logger 是一款Android平臺上的簡單、優雅、強大的開源日志庫。
Logger提供了以下方法:
-
打印線程的信息
-
打印類的信息
-
打印方法的信息
-
優雅的打印JSON數據
-
優雅的打印換行符
-
打印簡潔的信息
-
點擊日志跳轉至源碼
感受下Logger打印的日志:
JSON日志
2.簡單使用
在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);</code></pre>

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);</code></pre>

XML日志
打印集合
List<String> list = new ArrayList<>();
list.add("Hello");
list.add("World");
Logger.d(list);</code></pre>

集合日志
打印數組的方式和集合類似,就不再舉例了。
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);
}
}</code></pre>
在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適配器
}
來自:http://www.jianshu.com/p/89b05c0ffd39
本文由用戶 chinar4 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!