一般來說Android應用程序發布時都要禁止Log輸出以保證自己的APP中的信息不會被人竊取,自己自定義一個Log日志管理工具是個人認為最好的選擇。
import android.util.Log;
/**
* 日志管理工具
*/
public class LogUtil {
private LogUtil(){}
/**
* 日志的等級,默認為1,
* 可以顯示所有的日志等級
* ①應用開發階段,等級調為0可以保留所有等級的日志
* ②在應用上線的時候,將日志等級調到2等級,那么只會保留w和e的日志信息
* ③在應用上線的時候,將日志等級調到0等級,將會清楚所有日志信息,推薦使用6
*/
private static int LOG_LEVEL = 6;
/***************** 1、error級別的日志管理 *****************/
/**
* error級別的日志
*
* @param tag
* 日志的tag
* @param msg
* 日志的輸出信息
*/
public static void e(String tag,String msg){
if (LOG_LEVEL <= 1)
Log.e(tag, msg);
}
public static void e(String tag,String msg,Throwable tr){
if (LOG_LEVEL <= 1)
Log.e(tag, msg, tr);
}
/***************** 2、warm級別的日志管理 *****************/
public static void w(String tag,String msg){
if (LOG_LEVEL <= 2)
Log.w(tag, msg);
}
public static void w(String tag,String msg,Throwable tr){
if (LOG_LEVEL <= 2)
Log.w(tag, msg, tr);
}
/***************** 3、info級別的日志管理 *****************/
public static void i(String tag,String msg){
if (LOG_LEVEL <= 3)
Log.i(tag, msg);
}
public static void i(String tag,String msg,Throwable tr){
if (LOG_LEVEL <= 3)
Log.i(tag, msg, tr);
}
/***************** 4、debug級別的日志管理 *****************/
public static void d(String tag,String msg){
if (LOG_LEVEL <= 4)
Log.d(tag, msg);
}
public static void d(String tag,String msg,Throwable tr){
if (LOG_LEVEL <= 4)
Log.d(tag, msg, tr);
}
/***************** 5、verbose級別的日志管理 *****************/
public static void v(String tag,String msg){
if (LOG_LEVEL <= 5)
Log.v(tag, msg);
}
public static void v(String tag,String msg,Throwable tr){
if (LOG_LEVEL <= 5)
Log.v(tag, msg, tr);
}
/***************** 6、更改日志顯示等級 *****************/
/**
* 更改日志顯示等級
*
* @param logLevel
*/
public static void changeLogLevel(LogLevel logLevel) {
switch (logLevel) {
case VERBOSE:
LOG_LEVEL = 5;
break;
case DEBUG:
LOG_LEVEL = 4;
break;
case ERROR:
LOG_LEVEL = 3;
break;
case INFO:
LOG_LEVEL = 2;
break;
case WARN:
LOG_LEVEL = 1;
break;
case NOLOG:
LOG_LEVEL = 6;
break;
default:
LOG_LEVEL = 0;
break;
}
}
/***************** 7、 日志等級的枚舉類 *****************/
/**
* 日志等級的枚舉類
*
* @author hacket
*/
public enum LogLevel{
VERBOSE, DEBUG, INFO, WARN, ERROR, NOLOG
}
}
使用
LogUtil.e(TAG, "This is Log.e");
偶有所得,以此為記。