在之前我是很喜歡使用真機進行調試的,因爲那時候覺得用真機調試比較方便,直到我發現我的手機打印不出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、在這裏就可以選擇你要輸出的最低等級日誌了

小夜