平時我們在偵錯工具的時候,總是需要列印各種的log資訊,有些人,圖省事,直接用system out的方法來列印日誌資訊,殊不知這些資訊,在我們程式發布的時候,是不允許列印到控制台上的,相反,如果在病毒與反病毒中,這些列印的資訊,可能會給壞人留下可乘之機
我們在開發的時候,所以就要選擇log列印日誌的方式,那麼有沒有一種方法,合理的管理log呢?在開發的時候列印出來,在發布的時候,把所有的log日誌全部關掉?
答案是有的,那麼就讓作者給你一一道來:
管理log一般有兩種方法,博主推薦大家使用下面的第一種方法:
第一種方法:
第一步:定義一個logTools工具類,相信你能夠看懂的,誰的log,可以用誰的名字做方法名,如logli,這就是工程師li列印的日誌
import android.util.Log;public class LogTools { public static boolean isShow = true;//上線模式
//public static boolean isShow = false;//開發模式
//ye工程師打出來的log public static void logYe(String msg){ if(isShow){ Log.i("Ye", msg); } } //li工程師打出來的log public static void logli(String msg){ if(isShow){ Log.i("lili", msg); } } }
第二步:在程式中應用的方式是:
LogTools.logYe("onTouchEvent-----"+event.getAction());
第二種方法:
在開發中經常要列印log,但是在我們發布項目的時候是不能列印。為了方便操作log我們需要自己定義個log類然後在開發階段將下面LOG_LEVEL 設定為6這樣所有的log都能顯示,在發布的時候我們將LOG_LEVEL 設定為0.這樣log就非常方便管理了
public class Logger { public static int LOG_LEVEL = 0; public static int ERROR = 1; public static int WARN = 2; public static int INFO = 3; public static int DEBUG = 4; public static int VERBOS = 5; public static void e(String tag,String msg){ if(LOG_LEVEL>ERROR) Log.e(tag, msg); } public static void w(String tag,String msg){ if(LOG_LEVEL>WARN) Log.w(tag, msg); } public static void i(String tag,String msg){ if(LOG_LEVEL>INFO) Log.i(tag, msg); } public static void d(String tag,String msg){ if(LOG_LEVEL>DEBUG) Log.d(tag, msg); } public static void v(String tag,String msg){ if(LOG_LEVEL>VERBOS) Log.v(tag, msg); }}
好了,開始幹活吧,加油,朋友!