Android提供的打印日志的方法是通过android.util.Log类来打印我们需要的日志信息,当打印的日志很多的时候,我们需要查看是哪一行就比较困难,除非你打上了标记,但是这样会比较麻烦。这个时候我们可以使用Logger来替代android.util.Log的日志打印。
线程名、那个类的那个方法、哪一行都打印出来了,还可以点击直接跳到打印的位置,有没有很高大上的感觉?
github地址: https://github.com/orhanobut/logger
配置
直接在app的build.gradle里面添加如下代码
dependencies {
compile 'com.orhanobut:logger:1.15'
}
或者通过choose library dependency搜索添加
使用
使用方法非常简单,甚至比android.util.Log还要简单,只需要通过调用com.orhanobut.logger.Logger该类的方法即可,该类也提供了v,d,i,w,e等方法。
Logger.v("hello world");
Logger.d("hello world");
Logger.i("hello world");
Logger.w("hello world");
Logger.e("hello world");
是不是用起来很爽,tag都不用设置,可以看到tag默认为PRETTYLOGGER。当然你也可以自己定义tag
Logger.t("MY_TAG").v("hello world"); //设置tag为MY_TAG,并打印
当然,这样它会默认在PRETTYLOGGER后面拼接你的tag打印。不要慌,PRETTYLOGGER也是可以自定义的。只需要加上如下代码:
Logger.init("locationtest");
Logger还提供了e(Throwable throwable, String message, Object… args)方法,将异常信息打印出来
try {
String s = null;
s.toString();
}catch (NullPointerException e){
Logger.e(e,"test----");
}
还有将json和xml格式化打印的效果
String json = "{\n" +
"\"number\":123,\n" +
"\"object\":{\n" +
"\"a\": \"b\",\"c\": \"d\"}," +
"\"string\":\"Hello World\"\n" +
"}";
Logger.json(json);
String xml = "";
Logger.xml(xml);
我们在开发过程中,会打印很多日志信息,这些信息可能会包含一些敏感信息,而我们在把应用打包发布的时候肯定不希望这些日志继续打印(可能会被同行看到),这个时候可以封装一个日志打印的工具类。
package com.chengliang0315.locationtest.util;
import com.chengliang0315.locationtest.BuildConfig;
import com.orhanobut.logger.Logger;
/**
* 日志打印工具类
*
* @author chengliang0315
* @see http://blog.csdn.net/chengliang0315
*/
public class LogUtils {
/**
* 是否开启debug
* 注意:使用Eclipse打包的时候记得取消Build Automatically,否则一直是true
*/
public static boolean isDebug= BuildConfig.DEBUG;
/**
* 错误
*/
public static void e(String tag,String msg){
if(isDebug){
Logger.t(tag).e(msg+"");
}
}
/**
* 调试
*/
public static void d(String tag,String msg){
if(isDebug){
Logger.t(tag).d( msg+"");
}
}
/**
* 信息
*/
public static void i(String tag,String msg){
if(isDebug){
Logger.t(tag).i( msg+"");
}
}
}
你只需要在调用LogUtils来打印日志即可,这样就方便管理了。当然在使用Eclipse打包的时候记得取消Build Automatically,否则一直是true