Log和system.out日志之学习笔记

system.out打印日志

1.使用system.out.println()方法打印日志,其打印时间无法确定,日志打印不可控制,不能添加过滤器,日志没有级别区分......,所有不推荐使用,推荐全使用Log打印日志。

Log打印日志

1.log是android.util.Log包中封装的一个类,有5个静态方法v,d,i,w,e等,分别对应于5个优先级(Verbose,Debug,Info,Warn,Error)。

2.log方法快速输入,例如需要打印一条Debug级别的日志,输入logd,然后按Tab键或回车键,会自动补全一条完整的打印语句,其它级别方法依次类推。

3.在需要打印日志的方法之外,输入logt,然后按Tab键或回车键,会自动生成以当前类名作为值的TAG常量。

4.目前只有三种过滤器,其中Show only selected application表示只显示当前选中程序的日志,Firebase是谷歌提供的一个分析工具,No Filters表示没有过滤器,会把所有的日志都显示出来,Edit Filter Configuration可以自定义过滤器。


5.点击Edit Filter Configuration会弹出一个过滤器配置界面,Filter Name的名称会在上图过滤器选项中显示,Log Tag表示通过TAG内容进行过滤,

Log Message表示通过message内容进行过滤,Package Name表示通过包名进行过滤,PID:进程ID,Log Level:日志等级,以下为通过Log Tag方式过滤的截图




6.logcat中的级别控制,有5个级别,分别对应以上的5个方法,Verbose级别最低,表示不管使用哪一个方法打印日志,这条日志都会显示出来,

Debug级别次之,表示只有使用debug或以上级别的方法打印的日志才会显示出来,使用v方法打印的日志是不会显示出来,依次类推,例如使用

方法d打印日,然后将logcat级别选为Info,Warn,Error之一,那么d方法打印的日志将不会显示。



7. 现在在onCreate方法中加一条Log.d(TAG,"onCreate")语句

package com.example.activitylifecycletest;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
    private static final String TAG = "MainActivity";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.d(TAG, "onCreate");
        setContentView(R.layout.activity_main);
    }
}

8.打开Android Monitor,过滤器选择MainActivity,然后按shift+F10运行程序,会显示如下一条信息,包含了日志打印的时间,PID,日志级别,TAG标签名,日志详细信息等





你可能感兴趣的:(Anroid学习笔记)