`
喜欢蓝色的我
  • 浏览: 370317 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

android系列(三)android logcat

 
阅读更多

. logcat是Android中一个命令行工具,可以用于得到程序的log信息。
开发过程中如何输出想要的信息到log?
    Log 类是一个日志类,您可以在代码中使用 logcat 打印出消息。
      常见的日志记录方法包括:
    v(String, String) (verbose)           显示全部信息
    d(String, String) (debug)              显示调试信
    i(String, String) (information)    显示一般信息
    w(String, String) (warning)         显示警告信息
    e(String, String) (error)                 显示错误信息
log的例子:

Log.i("MyActivity", "MyClass.getView() — get item number " + position);
logcat 命令获取log:adb logcat
logcat 将输出类似如下信息:
    I/MyActivity( 1557): MyClass.getView() — get item number 1

 

实际例子


import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;


public class MainActivity extends AppCompatActivity {

//添加一个tag,方便知道是哪个查log
    public static java.lang.String TAG="MyApp";


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

//TAG 标记
        Log.v(TAG, "LOGV,我是黑色的****************************");
        Log.d(TAG,"LOGD,我是蓝色的****************************");
        Log.i(TAG,"LOGI,我是绿色的****************************");
        Log.w(TAG,"LOGW,我是橙色的****************************");
        Log.e(TAG,"LOGE,我是红色的****************************");

    }


}

二 .  logcat 缓冲区— 缓冲区介绍
Android的Log 输出量巨大,特别是通信系统的Log,因此,Android把Log输出到不同的缓冲区中。目前定义了4个Log缓冲区:
Radio:输出通信系统的Log
System:输出系统组件的log
Event:输出event模块的log
Main:所有java层的log,以及不属于上面3层的Log
缓冲区主要给系统组件使用,一般的应用无需关心,应用LOG都输出到main缓冲区中。

三。logcat的命令

1.查看缓冲区的log命令:-b 后面跟缓存区名

adb logcat -b main -b system -b radio -b event

2. 清除缓冲区中的全部日志并退出(清除完后可以使用-g 查看缓冲区)

adb logcat -c

3.将缓冲区的log转存到屏幕中,然后退出

adb logcat -d

4.将log输出到指定的文件中 <文件名>. 默认为标准输出(stdout)

-f <filename>

常常和-c和-r 搭配使用

------------------------------------------------------------------------------------------

logcat要adb shell之后再设备中运行,不然会报错:

C:\Users\kanglimin>adb logcat -f E:\logcat\a.txt -n 2 -r 1
couldn't open output file: Read-only file system

 

---------------------------------------------------------------------------------------------

logcat -f /data/local/tmp/log.txt -n 10 -r 1

-rw------- root     root          258 2016-07-13 15:47 log.txt
-rw------- root     root         1056 2016-07-13 15:47 log.txt.1
-rw------- root     root         1066 2016-07-13 15:47 log.txt.10
-rw------- root     root         1056 2016-07-13 15:47 log.txt.2
-rw------- root     root         1058 2016-07-13 15:47 log.txt.3
-rw------- root     root         1056 2016-07-13 15:47 log.txt.4
-rw------- root     root         1066 2016-07-13 15:47 log.txt.5
-rw------- root     root         1056 2016-07-13 15:47 log.txt.6
-rw------- root     root         1054 2016-07-13 15:47 log.txt.7
-rw------- root     root         1054 2016-07-13 15:47 log.txt.8
-rw------- root     root         1056 2016-07-13 15:47 log.txt.9

 

 

5.打印日志缓冲区的大小并退出

C:\Users\kanglimin>adb logcat -g
/dev/log/main: ring buffer is 256Kb (255Kb consumed), max entry is 5120b, max pa
yload is 4076b
/dev/log/system: ring buffer is 256Kb (95Kb consumed), max entry is 5120b, max p
ayload is 4076b

6.设置日志的最大数目<count> ., 默认值是4,需要和 -r 选项一起使用。

-n <count> 文件个数

7.每<kbytes> 时输出日志,默认值为16,需要和-f 选项一起使用

-r <kbytes> 单位是KB

8.设置过滤器

-s

9.设置输出格式的日志消息。默认是短暂的格式。支持的格式列表

-v <format>

logcat 格式化输出— 参数说明
日志消息包含一个元数据字段,除了标签和优先级。您可以修改输出显示一个特定的元数据字段格式的消息。为此,您使用- v选项来指定一个支持的输出格式。以下为支持的格式:
brief —显示优先级/标记和过程的PID发出的消息(默认格式)
process — 只显示PID
tag —只显示优先级/标记
raw —显示原始的日志消息,没有其他元数据字段
time —调用显示日期、时间、优先级/标签和过程的PID发出消息
threadtime —调用显示日期、时间、优先级、标签以及PID TID线程发出的消息
long —显示所有元数据字段与空白行和单独的消息

 

 例子:

当logcat开始,您可以指定您想要的输出格式使用- v选项:
    [adb] logcat [-v <format>]
这里有一个例子,展示了如何生成消息的线程输出格式:
    adb logcat -v thread
请注意,您只能指定一个输出格式- v

 

三。 log的优先级

优先级使用字符标识,以下优先级从低到高
V — Verbose (最低优先级)
D — Debug
I — Info
W — Warning
E — Error
F — Fatal
S— Silent

方便查找用户查看和自己相关的log

减少日志的输出可以建立一个过滤器:
过滤语法:tag:priority
adb logcat ActivityManager:I MyApp:D *:S
过滤TAG为ActivityManager输出级别大于I的日志与TAG为MyApp输出级别大于D的日志
adb logcat *:W   设置过滤级别为W以上      
常用的设置为环境变量:
export ANDROID_LOG_TAGS="ActivityManager:I MyApp:D *:S"

 

 

 

 

 

 

 

 

 

 

 

 

 

Log.i("MyActivity", "MyClass.getView() — get item number " + position);

 

logcat命令获取logadb logcat

 

logcat将输出类似如下信息:

 

  I/MyActivity( 1557): MyClass.getView() — get item number 1

 

 

分享到:
评论

相关推荐

    让android的LogCat支持中文输出

    有一些第三方Android Studio插件,如Logcat Color Filter,它们可能提供了更好的日志显示功能,包括对中文的支持。 在实际开发中,为了保证跨平台和兼容性,建议在代码中始终使用Unicode(UTF-8)编码,并在输出...

    Android Logcat 的使用

    在Android开发过程中,Logcat是一个至关重要的工具,它用于收集应用程序和系统服务的日志消息。Logcat可以帮助开发者追踪错误、调试代码以及理解应用程序在运行时的行为。本文将深入探讨Logcat的基本概念、如何使用...

    Android-Android日志工具支持Logcat输出和文件记录

    Android系统自带的日志系统Logcat,可以输出应用程序运行过程中的各种信息,包括错误、警告、信息等不同级别的日志。然而,仅依赖Logcat有时并不能满足所有需求,例如在长时间运行或者大量数据输出时,可能需要将...

    Android Logcat 抓取调试工具

    **Android Logcat 抓取调试工具** 在Android应用开发过程中,Logcat是一个至关重要的工具,它用于记录应用程序运行时的系统日志信息。通常,开发者使用Eclipse或Android Studio这样的集成开发环境(IDE)来方便地...

    Android-LogCat-tool.zip_-baijiahao_android logcattool_logcat_log

    **Android LogCat 工具详解** 在Android开发中,LogCat是不可或缺的调试利器,它是一个内置的命令行工具,用于收集和显示Android设备或模拟器上的系统日志信息。通过对应用程序、系统服务以及框架组件的日志输出...

    android logcat使用

    在Android中输出日志主要依赖于`android.util.Log`类,这个类提供了一系列的静态方法用于输出不同级别的日志信息。这些方法包括: - `Log.v(String tag, String msg)`:输出VERBOSE级别的日志。 - `Log.d(String ...

    Android软件开发之程序中时时获取logcat日志信息

    此外,如果在开发过程中需要持续收集logcat日志,可以考虑使用第三方库,如`android-log-collector`,它可以创建一个服务,持续捕获日志并将其保存到文件中,便于后续分析。 总结起来,实时获取logcat日志信息是...

    Android-LogcatView一款可以在手机中打开logcat控制台

    **Android-LogcatView:手机中的日志控制台** 在Android应用开发中,日志(Logcat)是一个至关重要的工具,它允许开发者查看应用程序运行时的输出信息,包括错误、警告、调试信息等。通常,开发者会在计算机上的...

    Android代码-LogcatViewer可在手机上查看 logcat

    LogcatViewer - Android Logcat Viewer Purpose LogcatViewer is utility library which will allow user to view the logcat logs of the application on phone itself. It will be useful for tester to provide ...

    Android LogCat使用详解

    **Android LogCat 使用详解** Android LogCat 是一个强大的调试工具,它用于收集应用程序和其他系统组件的日志信息。LogCat 在 Android 开发过程中扮演着至关重要的角色,帮助开发者追踪错误、定位问题以及理解应用...

    shell 脚本抓取android logcat和kernel log,以及删除旧的log

    在Android系统中,logcat和kernel log是两个重要的日志系统,它们记录了系统的运行状态、错误信息和其他调试数据。shell脚本则是Linux/Android环境中进行自动化任务的强大工具。本篇将详细介绍如何利用shell脚本来...

    在Android界面上显示和获取Logcat日志输出

    在Android开发过程中,Logcat是调试应用程序不可或缺的工具。它是一个内置的日志系统,用于记录应用程序和系统服务的输出信息。Logcat收集所有应用程序和系统的日志消息,并将其存储在一个缓冲区中,开发者可以通过...

    Android-将logcat日志存储到文件中日志量较大的情况下方便查看

    在分析大量日志时,可以使用一些日志查看工具,如Logcat Viewer(Android Studio插件)或第三方软件,它们提供了更友好的界面和过滤功能,帮助快速定位问题。 总结来说,将logcat日志存储到文件是Android开发中常用...

    安卓logcat输出内核日志android studio工程源码

    本文将深入探讨如何使用"安卓logcat输出内核日志android studio工程源码"来收集和分析内核日志信息。我们将讨论以下几个核心知识点: 1. **logcat工具**:logcat是Android系统内置的一个命令行工具,用于捕获和显示...

    Android开发中LogCat工具的使用

    Android开发中LogCat工具的使用 Android开发中LogCat工具是一种命令行工具,用于获取程序的log信息。LogCat工具提供了多种选项和过滤器,可以根据需要进行自定义设置。 LogCat工具的使用方法 LogCat工具的使用...

    android logcat日志查看器源码

    adb logcat查看日志工具,注意:必须有root权限才能查看完整logcat信息。详细介绍请点击http://developer.t-firefly.com/forum.php?mod=viewthread&tid=202&page=1&extra=#pid369

    android logcat and 自动截屏 tool

    在Android开发过程中,日志(Logcat)是一个至关重要的工具,它可以帮助开发者追踪应用程序的运行状态,定位并解决潜在的问题。Logcat是一个内置的命令行工具,用于收集和查看设备上运行的所有应用的日志信息。它...

    如何理解、使用Android LogCat以及通过Monkey进行压力测试

    如何理解、使用Android LogCat以及通过Monkey进行压力测试

    Android手机WiFi调试,查看logcat

    在Android开发过程中,调试是必不可少的一环,尤其是当涉及到网络通信问题时,WiFi调试和查看logcat日志显得尤为重要。本文将深入探讨如何利用WiFi进行Android设备的远程调试,并介绍如何查看并理解logcat日志。 ...

    Catdea,catdea intellij idea(android studio)插件旨在将android logcat日志条目与发出它们的源代码相匹配.zip

    《Catdea:Android Studio中的Logcat源码关联插件详解》 在Android应用开发过程中,Logcat是一个不可或缺的工具,它记录了应用运行时的各种日志信息,帮助开发者诊断问题和调试代码。然而,面对海量的日志数据,...

Global site tag (gtag.js) - Google Analytics