Android笔记 | Android Studio日志工具Log

Android Studio日志工具Log


在调试代码的时候我们需要查看调试信息,那我们就需要用Android Log类。

Log的种类

android.util.Log常用的方法有以下5个:Log.v() Log.d() Log.i() Log.w() 以及 Log.e() 。根据首字母对应VERBOSEDEBUG,INFO, WARN,ERROR。

1、Log.v 的调试颜色为黑色的,任何消息都会输出,这里的v代表verbose啰嗦的意思,平时使用就是Log.v("","");

2、Log.d的输出颜色是蓝色的,仅输出debug调试的意思,但他会输出上层的信息,过滤起来可以通过DDMS的Logcat标签来选择.

3、Log.i的输出为绿色,一般提示性的消息information,它不会输出Log.v和Log.d的信息,但会显示i、w和e的信息

4、Log.w的意思为橙色,可以看作为warning警告,一般需要我们注意优化Android代码,同时选择它后还会输出Log.e的信息。

5、Log.e为红色,可以想到error错误,这里仅显示红色的错误信息,这些错误就需要我们认真的分析,查看栈的信息了。

 6 、 Log.a为4.0新增加的。Assert 表示断言失败后的错误消息,这类错误原本是不可能出现的错误,现在却出现了,是极其严重的错误类型。

注意:不同的打印方法在使用时都是某个方法带上(String tag, String msg)参数,tag表示的是打印信息的标签,msg表示的是需要打印的信息。

日志工具(LogCat)

日志在任何项目的开发过程中都会起到非常重要的作用,在Android项目中如果你想要查看日志则必须要使用 LogCat 工具。在 Android Studio 最下方的 Status Bar 中。如下图


Android笔记 | Android Studio日志工具Log_第1张图片

这里选择 Devices,当然一般来说不需要选择,如果只连接了一个设备的话。

这里选择 Log level,日志级别。包括:Verbose、Debug、Info、Warn、Error、Assert。以上级别依次升高。

这里选择过滤器,默认会自动生成一个过滤条件是 Package name 是项目包名的过滤器。

使用 LogCat

Android 中的日志工具类是 Log(android.util.Log),提供了如下的几个方法供我们打印日志。

Log.v() 对应 Verbose

Log.d() 对应 Debug

Log.i() 对应 Info

Log.w() 对应 Warn

Log.e() 对应 Error

Log.wtf() 在输出日志的同时,会把此处代码此时的执行路径(调用栈)打印出来。

我们来演戏一下。打开 HelloWorldActivity,在 onCreat()方法中添加一行打印日志的语句,为了让日志明显一点我加了一些下划线,如下所示:

@Overrideprotected void  onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);   

 setContentView(R.layout.activity_hello_world);    Log.d("HelloWorldActivity","______________onCreate execute______________");

}

Log.d() 方法中传入了两个参数,第一个参数是 tag,一般传入当前的类名就好,主要用于对打印信息进行过滤。第二个参数是 msg,即想要打印的具体内容。

现在重新运行一下项目,点击工具栏中的绿色小箭头,或者按 Shift+F10。等程序运行完毕,使用模拟器的可能已经能看到日志了,如下图


使用真机的,可能看到的还是空荡荡的LogCat。需要做这么一件事,菜单栏 Tools → Android → Enable ADB Integration 把这个勾上,然后再次运行。

这次应该能看到日志了吧?看看能不能找到我们想要打印出来日志信息。过滤器中一定要选中 app:com.xxxx.helloworld 哦。如果有日志,但是找不到我们想要打印的日志HelloWorldActivity: ______________onCreate execute______________,那么恭喜你,你用的真机貌似跟我的一样比较高端,是不是有什么黑科技。

定制过滤器(Filter)

点击过滤器那个下拉框,选择 Edit Filter Configuration,在弹出的对话框中点击左上角的加号新创建一个 Filter。如下图


Android笔记 | Android Studio日志工具Log_第2张图片

含义如下:

Name:Filter 名称

by Log Tag: 通过日志的 tag 过滤

by Log Message:通过日志的 msg 内容过滤

by Package Name:通过包名过滤

by PID:通过PID过滤

by Log Level:通过日志等级过滤

regex:表示可以使用正则表达式进行匹配

以上过滤条件可以组合。

我建了一个data的过滤器,过滤条件是 tag 等于 data。将 Filter 选择为 data,我们的日志不见了,因为匹配不到 tag 等于 data 的日志。

现在去把我们在 onCreate() 方法中的日志的 tag 改为 data。如下所示:

Log.d("data","______________onCreate execute______________");

然后重新运行,将 Filter 选择为 data,我们的日志出现了。当然还可能会有一些奇奇怪怪的日志也出现了,仔细看看 tag 中都包含有 data。

你可能感兴趣的:(Android笔记 | Android Studio日志工具Log)