Android中的日志工具类是Log(android.util.Log),这个类提供了以下几个方法来供我们打印日志。
? Log.v():这个方法用于打印那些最为琐碎的,意义最小的日志信息。对应级别verbose,是android日志里面级别最低的一种。
? Log.d():这个方法用于打印一些调试信息,这些信息对调试程序和分析问题应该是有帮助的。对应级别debug,比verbose高一级。
? Log.i():这个方法用于打印一些比较重要的数据,这些数据应该是非常想看的,可以帮助分析用户行为的那种。对应级别info,比debug高一级。
? Log.w():这个方法用于打印一些警告信息,提示程序在这个地方可能会有潜在的风险,最好去修复一下这些出现警告的地方。对应级别warn,比info高一级。
? Log.e():这个方法用于打印程序中的错误信息,比如程序进入到了catch语句当中。当有错误信息打印出来的时候,一般都代表你的程序出现严重问题了,必须尽快修复。对应级别error,比warn高一级。
protected void onCreate(Bundle saveInstanceState){ super.onCreate(saveInstanceState); Log.d("HelloWorldActivity","onCreate execute"); Log.i("HelloWorldActivity","onCreate execute"); Log.w("HelloWorldActivity","onCreate execute"); Log.e("HelloWorldActivity","onCreate execute"); }
Log方法中传入了两个参数,第一个参数时tag,一般传入当前的类名就好,主要用于对打印信息进行过滤。第二个参数是msg,即想要打印的具体内容。
不仅能看到打印日志的内容和Tag名,就连程序的包名、打印的时间以及应用程序的进程号都可以看到。如果LogCat中没有打印出任何信息,有可能是因为当前的设备失去焦点了。这是只需要进入DDMS视图,在Devices窗口中点击一下当前的设备,打印信息就会出来了。
过滤器的使用
目前有两个过滤器,All messeage过滤器也就相当于没有过滤,会把所有的日志都显示出来。com.example.activitytest是我们运行ActivityTest项目是自动创建的,点击这个过滤器就可以只看到ActivityTest程序中打印的日志。
点击图中的“+”号,会弹出一个过滤器配置界面。我们给过滤器起名叫data,并让它对名为data的Tag进行过滤。
点击OK,会多出一个data过滤器,当点击这个过滤器的时候,刚刚在onCreate()方法里打印的日志没了,这是因为data这个过滤器只会显示Tag名为data的日志。可以尝试把onCreate()方法中把打印日志的语句改成Log.d("data","onCreate execute"),然后再次运行程序,就会在data过滤器下看到这条日志了。
看完过滤器,再看一下LogCat中的日志级别控制。LogCat中主要有5个级别,分别对应上面5个方法。
当选择verbose级别时,也就是最低级别,所有verbose及以上级别方法都会打印出来。