在之前我是很喜歡使用真機進行調試的,因爲那時候覺得用真機調試比較方便,直到我發現我的手機打印不出Log.d()的調試日誌,我纔開始經常使用模擬器。當然還有兩小點是:我的手機不支持快速啓動和小編的電腦配置比較低,模擬器太喫內存了。
寫一個簡單的應用,它的代碼是
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d("調試日誌","你好");
Log.e("錯誤日誌","你好");
}
}
很簡單,就輸出一個調試日誌和錯誤日誌,但是在真機和模擬器的輸出卻不一樣。
首先使用的是真機

它的輸出日誌只有錯誤日誌,調試日誌不見了。

然後我們使用模擬器進行調試

它把所有的日誌都輸出了

我們在調試應用時但要是每個日誌都要輸出,否則是很抓狂的。通過網上查得知是部分廠家把比較低級的日誌禁止輸出了,所以就沒有看到剛纔的調試日誌。
對Log處理一下,寫成一個工具類,可以更方便我們使用,下面就是一個包裝過的Log
import android.util.Log;
/**
* 輸出日誌工具
* Created by 15696 on 2017/12/9.
*/
public class LogUtil {
private String TAG;
private boolean isRelease = false;
private boolean isDebug;
public LogUtil(Class c, boolean isDebug) {
this.TAG = c.getName();
this.isDebug = isDebug;
}
public void d(String msg) {
if (!isRelease && isDebug) {
Log.d(TAG, "--------->" + msg);
}
}
public void i(String msg) {
if (!isRelease && isDebug) {
Log.i(TAG, "--------->" + msg);
}
}
public void w(String msg) {
if (!isRelease && isDebug) {
Log.w(TAG, "--------->" + msg);
}
}
public void e(String msg) {
if (!isRelease && isDebug) {
Log.e(TAG, "--------->" + msg);
}
}
}
說到這裏,我多嘮叨一下,我建議調試日誌最後使用Log的方法輸出,因爲Log是分等級的,還有過濾器,這極大的方便我們對輸出日誌的捕獲,儘量不要用System.out.println()和System.err.println()
修改輸出日誌的級別
如果想修改輸出日誌級別,可以在進行以下操作(酷派手機):
1、撥號鍵中輸入:*20121220#,輸入完成會自動打開工程模式
2、選擇日誌輸出等級
3、選擇Java log level
4、在這裏就可以選擇你要輸出的最低等級日誌了