Android的logcat输出

Android的Logcat是一个很方便的调试工具,但是log的输出又分为好几种,介于以后的学习中都会用到Log,今天提前深入了解一下:

?
?

在Android系统中,verbose和debug信息在程序被调试时显示;Information、warn、error和assert在debug和release版的应用程序中都会显示;

类android.util.Log包含了几个静态方法,这些静态方法按照递增的级别输出日志信息;这些级别分别是ERROR、?WARN、 INFO、 DEBUG、 VERBOSE

如果为实际设备开发应用程序,那么debug和verbose是不包含在编译后的应用程序中的;

怕误导大家,直接API截图:

?
?

下面这个Log的介绍是根据别人一篇关于Log的博文,觉得写得不错,引用了一部分,并做了些改动,如下:

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

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

2、Log.d()的输出颜色是蓝色,仅输出debug调试的意思,除了会输出i、w、e,过滤起来可以通过DDMS的Logcat标签来选择.

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

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

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

?
?

下面这些就是我自己写程序来测试Log的输出了:

界面:

源码:

XML代码:

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerInParent="true"

android:text="Log输出测试"
/>

?
?

<Button

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_alignParentBottom="true"

android:onClick="onOutLog"

android:text="单击输出Log"
/>

public
class MainActivity extends ActionBarActivity {

?
?

Activity代码:?

@Override

protected
void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

}

public
void onOutLog(View view){

Log.v("LogOut","Log.v()输出至VERBOSE");

Log.d("LogOut","Log.d()输出至DEBUG");

Log.i("LogOut","Log.i()输出至INFO");

Log.w("LogOut","Log.w()输出至WARN");

Log.e("LogOut","Log.e()输出至ERROR");

}

}

?
?

下面是实验的截图

下面就是在verbose视图下的输出:

?
?

下面是在debug视图下的输出:

?
?

下面是在info视图下的输出:

?
?

下面是在warn视图下的输出:

?
?

下面是在error视图下的输出:

?
?

?
?

我目前的总结还不够深入,只是知道,使用不同的日志输出函数,他们的级别不一样,对应的也会在不同的视图中显示,等以后了解的更透彻了,再来做更深入的测试和总结吧

?
?

?
?

?
?

?
?

?
?

?
?

?
?

?
?

时间: 2024-10-20 18:41:31

Android的logcat输出的相关文章

我用真机测试android,logcat输出停不下来,怎么回事

============问题描述============ 貌似我在手机上做做得任何操作都输出到logcat上了,好像兼职在调试整个android系统了,根本停不下来,怎么破 如下,,,,是其中一段 10-06 23:13:56.055: D/BluetoothAdapter(2674): 1109355176: getState() :  mService = null. Returning STATE_OFF 10-06 23:13:56.055: D/DisplayPowerControll

Android adb logcat输出日志显示不全解决方案

在终端中使用adb logcat打印服务器json数据,如果返回数据过大超过4000字节(4K)即会截断不显示 原因:logcat在对于message的内存分配大概是4k左右.所以超过的内容都直接被丢弃; 解决方案:切分超过4k的message,使用多个Log.i输出 public static void showLog(String str) { str = str.trim(); int index = 0; int maxLength = 4000; String finalString;

解决Android LogCat 输出乱码的问题(转)

Android日志系统提供了记录和查看系统调试信息的功能.日志都是从各种软件和一些系统的缓冲区中记录下来的. 可以使用adb的logcat 命令来查看系统日志缓冲区的内容,但是在实际操作时,会发现在CMD的DOS界面上面,使用logcat命令直接输出的中文内容是乱码.如下图: 而这个问题只出现在使用logcat将日志直接打印在当前的DOS窗口的时候会出现:而使用logcat将日志保存为文件,再使用文本编辑工具打开的则显示正常,如图. 很明显是由于DOS窗口显示的编码同logcat日志中不同导致的

如何过滤 adb logcat 输出(转载)

转自:http://www.cnblogs.com/imouto/archive/2012/12/11/filtering-adb-logcat-output.html 简介: 本文介绍如何在 shell 命令行中过滤 adb logcat 输出的几个小技巧. 开发当中经常看到别人的 log 如洪水般瞬间刷满了屏幕,对自己有用的信息都被淹没了,影响心情也影响效率.下面是几个我所知道的过滤方法. 1. 只显示需要的输出,白名单 最方便的当然是通过管道使用 grep 过滤了,这样可以使用 grep

几种在shell命令行中过滤adb logcat输出的方法

我们在Android开发中总能看到程序的log日志内容充满了屏幕,而真正对开发者有意义的信息被淹没在洪流之中,让开发者无所适从,严重影响开发效率.本文就具体介绍几种在shell命令行中过滤adb logcat输出的方法. 1.只显示需要的输出(白名单) 最方便的当然是通过管道使用 grep 过滤了,这样可以使用 grep 强大的正则表达式匹配.简单的匹配一行当中的某个字符串,例如 MyApp: adb logcat | grep MyApp       adb logcat | grep -i

如何过滤 adb logcat 输出

对原作者表示感谢,转自博客:http://www.otechu.me/zh/2011/12/filtering-adb-logcat-output/ 本文介绍如何在 shell 命令行中过滤 adb logcat 输出的几个小技巧. 开发当中经常看到别人的 log 如洪水般瞬间刷满了屏幕,对自己有用的信息都被淹没了,影响心情也影响效率.下面是几个我所知道的过滤方法. 1. 只显示需要的输出,白名单 最方便的当然是通过管道使用 grep 过滤了,这样可以使用 grep 强大的正则表达式匹配.简单的

android的logcat详细用法

目录(?)[+] 使用logcat命令 过滤 日志输出 控制 日志输出格式 查看 可用日志缓冲区 查看 stdout 和stderr Logcat命令列表 Android日志系统提供了记录和查看系统调试信息的功能.日志都是从各种软件和一些系统的缓冲区中记录下来的,缓冲区可以通过 logcat 命 令来查看和使用. 使用logcat命令 你可以用 logcat 命令来查看系统日志缓冲区的内容: [adb] logcat [<option>] ... [<filter-spec>] .

Android adb logcat使用技巧

前言 新买的笔记本E431装了最新版的Eclipse,搞定了Android开发环境,但是logcat里查看东西竟然只显示level,没有错误的详细信息.我本身也不是一个愿意折腾图形界面,更喜欢纯命令行的操作,因此今天在明昊师兄的建议下,果断放弃Eclipse的logcat,投奔adb shell下执行logcat. adb logcat Android日志系统提供了logcat命令可以让我们跟踪和查看系统日志缓存区.基本语法如下: [adb] logcat [<option>]... [<

对于Android系统Log输出日志的封装LogUtils

MainActivity如下: package cc.cn.logutil; import android.os.Bundle; import android.app.Activity; /** * Demo描述: * 对于Android系统Log输出日志的封装LogUtils * 1 可修改LogUtils中的LEVEL值觉得哪些级别的日志可以输出. * 所以方便选择性输出日志或者屏蔽日志输出 * 2 输出的日志除了本想输出的信息外还包含了该日志输出时所属 * 的线程,类,方法名,已经在该方法