`
yuanlanjun
  • 浏览: 1210788 次
文章分类
社区版块
存档分类
最新评论

LogCat命令详细说明

 
阅读更多

Android日志系统提供了记录和查看系统调试信息的功能。日志都是从各种软件和一些系统的缓冲区中记录下来的,缓冲区可以通过<wbr><code>logcat</code>命令来查看和使用.</wbr>


使用logcat命令

你可以用<wbr><code>logcat</code>命令来查看系统日志缓冲区的内容:</wbr>

[adb] logcat [<option>] ... [<filter-spec>] ...

请查看Listing of logcat Command Options,它对logcat命令有详细的描述 .

你也可以在你的电脑或运行在模拟器/设备上的远程adb shell端来使用logcat命令,也可以在你的电脑上查看日志输出。

$ adb logcat

你也这样使用:

# logcat

过滤日志输出

每一个输出的Android日志信息都有一个标签和它的优先级.

  • 日志的标签是系统部件原始信息的一个简要的标志。(比如:“View”就是查看系统的标签).
  • 优先级有下列集中,是按照从低到高顺利排列的:
    • V— Verbose (lowest priority)
    • D— Debug
    • I— Info
    • W— Warning
    • E— Error
    • F— Fatal
    • S— Silent (highest priority, on which nothing is ever printed)

在运行logcat的时候在前两列的信息中你就可以看到<wbr><code>logcat</code>的标签列表和优先级别,它是这样标出的:<code>&lt;priority&gt;/&lt;tag&gt;</code>.</wbr>

下面是一个logcat输出的例子,它的优先级就似乎I,标签就是ActivityManage:

I/ActivityManager( 585): Starting activity: Intent { action=android.intent.action...}

为了让日志输出能体现管理的级别,你还可以用过滤器来控制日志输出,过滤器可以帮助你描述系统的标签等级.

过滤器语句按照下面的格式描tag:priority ...,<wbr><code>tag</code>表示是标签,<code>priority</code>是表示标签的报告的最低等级. 从上面的tag的中可以得到日志的优先级. 你可以在过滤器中多次写<code>tag:priority</code>.</wbr>

这些说明都只到空白结束。下面有一个列子,例子表示支持所有的日志信息,除了那些标签为”ActivityManager”和优先级为”Info”以上的和标签为” MyApp”和优先级为” Debug”以上的。 小等级,优先权报告为tag.

adb logcat ActivityManager:I MyApp:D *:S

上面表达式的最后的元素<wbr><code>*:S</code>,,是设置所有的标签为”silent”,所有日志只显示有”View” and “MyApp”的,用<wbr><code>*:S</code>的另一个用处是 能够确保日志输出的时候是按照过滤器的说明限制的,也让过滤器也作为一项输出到日志中.</wbr></wbr>

下面的过滤语句指显示优先级为warning或更高的日志信息:

adb logcat *:W

如果你电脑上运行logcat,相比在远程adbshell端,你还可以为环境变量ANDROID_LOG_TAGS:输入一个参数来设置默认的过滤

export ANDROID_LOG_TAGS="ActivityManager:I MyApp:D *:S"

需要注意的是ANDROID_LOG_TAGS过滤器如果通过远程shell运行logcat或用adb shell logcat来运行模拟器/设备不能输出日志.

控制日志输出格式

日志信息包括了许多元数据域包括标签和优先级。可以修改日志的输出格式,所以可以显示出特定的元数据域。可以通过<wbr><code>-v</code>选项得到格式化输出日志的相关信息.</wbr>

  • brief— Display priority/tag and PID of originating process (the default format).
  • process— Display PID only.
  • tag— Display the priority/tag only.
  • thread— Display process:thread and priority/tag only.
  • raw— Display the raw log message, with no other metadata fields.
  • time— Display the date, invocation time, priority/tag, and PID of the originating process.
  • long— Display all metadata fields and separate messages with a blank lines.

当启动了logcat,你可以通过-v选项来指定输出格式:

[adb] logcat [-v <format>]

下面是用<wbr><code>thread</code>来产生的日志格式:</wbr>

adb logcat -v thread

需要注意的是你只能-v选项来规定输出格式 option.

查看可用日志缓冲区

Android日志系统有循环缓冲区,并不是所有的日志系统都有默认循环缓冲区。为了得到日志信息,你需要通过-b选项来启动logcat。如果要使用循环缓冲区,你需要查看剩余的循环缓冲期:

  • radio— 查看缓冲区的相关的信息.
  • events— 查看和事件相关的的缓冲区.
  • main— 查看主要的日志缓冲区

-b选项使用方法:

[adb] logcat [-b <buffer>]

下面的例子表示怎么查看日志缓冲区包含radio 和 telephony信息:

adb logcat -b radio

查看stdout 和stderr

在默认状态下,Android系统有stdout和<wbr><code>stderr</code>(<code>System.out</code>和<code>System.err</code>)输出到<code>/dev/null</code>,在运行Dalvik VM的进程中,有一个系统可以备份日志文件。在这种情况下,系统会用<code>stdout</code>和<code>stderr</code>和优先级 I.来记录日志信息</wbr>

通过这种方法指定输出的路径,停止运行的模拟器/设备,然后通过用setprop命令远程输入日志

$ adb shell stop $ adb shell setprop log.redirect-stdio true $ adb shell start

系统直到你关闭模拟器/设备前设置会一直保留,可以通过添加/data/local.prop可以使用模拟器/设备上的默认设置

Logcat命令列表

Option Description
-b<wbr>&lt;buffer&gt;</wbr> 加载一个可使用的日志缓冲区供查看,比如eventradio. 默认值是main。具体查看Viewing Alternative Log Buffers.

分享到:
评论

相关推荐

    安卓手机logcat保存到E盘批处理命令.rar

    首先,要理解如何使用logcat命令。在命令行界面(如ADB,Android Debug Bridge),你可以通过以下命令来获取logcat日志: ```bash adb logcat -v long &gt; log.txt ``` 这里的参数说明如下: - `adb`:Android Debug...

    logcat命令使用方法和查看android系统日志缓冲区内容的方法

    本文将深入探讨`logcat`命令的使用方法以及如何查看Android系统的日志缓冲区内容。 首先,让我们了解如何在Java和C语言中输出日志。 1. **Java日志输出**: 在Java代码中,我们使用`android.util.Log`类提供的五...

    Android的Logcat详细用法

    1. **使用logcat命令**: - `logcat`是通过ADB(Android Debug Bridge)来使用的命令,可用于查看设备或模拟器的日志输出。 - 基本语法:`adb logcat [option] ... [filter-spec] ...` - 选项包括但不限于 `-v` ...

    Android LogCat使用详解

    以下是关于 LogCat 的详细说明: 1. **查看 LogCat** - **Eclipse Debug/DDMS 模式**:在 Eclipse 开发环境中,通过切换到 Debug 或 DDMS 视图,你可以看到一个 LogCat 窗口,该窗口会实时更新系统中的各种日志...

    安卓全局异常捕获-崩溃重启捕获logcat

    通过`adb logcat`命令,开发者可以在电脑上查看设备的`logcat`输出,这对于定位和解决问题非常有帮助。 在提供的压缩包文件中,`crash.jar`可能是一个用于测试或模拟应用崩溃的工具,而`ReadMe.txt`通常包含了使用...

    android常用命令集

    下面将对这些命令进行详细的解释和说明。 adb 命令 adb 命令是 Android 调试桥 (Android Debug Bridge) 的缩写,它提供了多种方式来与 Android 设备进行交互。adb 命令可以用来管理设备、安装应用程序、查看日志、...

    Android_ADB命令介绍

    通过以上详细介绍,我们可以看到ADB命令的强大之处,这些命令不仅可以帮助开发者更高效地进行开发工作,而且对于普通用户来说也非常有用,特别是在处理一些常见问题时。希望本文能帮助大家更好地理解和掌握ADB命令的...

    常用的adb命令 常用的adb命令

    6. **adb logcat**:adb logcat命令用于查看设备的日志输出,这对于调试和问题排查非常有用。你可以通过过滤器来筛选特定的日志,比如`adb logcat -v time *:V`显示所有级别为Verbose的日志,按时间格式排序。 7. *...

    adb操作命令详解及大全

    标签中的“adb命令详解”进一步强调了文档的主要内容,即对ADB命令的详细解读和说明。 在文档的内容部分,首先提到的是通过输入“adb version”来检查ADB环境是否安装正确,以及通过“adb devices”来查看已连接的...

    PyPI 官网下载 | b-logcat-1.0.2.tar.gz

    2. **文档**:可能包含README文件或docs目录,提供了关于如何使用该库的说明和示例代码,帮助开发者快速上手。 3. **测试**:测试代码通常位于`tests`目录下,用于验证库的功能是否正常工作,这些测试用例对理解库...

    adb1.0.32DOS命令集合

    以下是对"adb1.0.32 DOS命令集合"这一主题的详细说明: 1. **adb介绍** ADB是由Google开发的,是Android开发者用于调试和管理设备的重要工具。它由三部分组成:服务器端(通常在开发者电脑上)、设备端(在Android...

    ADB常用命令文档.zip

    以下是一些关键的ADB命令及其详细说明: 1. **连接设备**: - `adb devices`:列出所有已连接的Android设备和它们的状态,包括在线、离线等。 2. **安装应用**: - `adb install 文件路径&gt;`:将APK文件安装到...

    adb.exe工具,命令输入工具

    说明书通常会详细介绍每个命令的语法和使用场景,而截图则直观地展示了命令执行后的效果,有助于理解和学习。 总结,adb作为Android开发的得力助手,其功能强大且灵活,无论是在日常开发、调试还是自动化测试中,都...

    ADB常用命令

    - **命令说明**:`adb bugreport`命令可以生成一份关于设备当前状态的详细报告,包括硬件配置、运行的应用程序等信息,非常适用于故障排查。 - **命令格式**:`adb bugreport` - **功能描述**:该命令会收集并显示...

    ADB说明文档

    下面是 ADB 命令的详细解释: 1. 查看设备:使用 `adb devices` 命令可以查看当前连接的 Android 设备或模拟器。 知识点:`adb devices` 命令用于查看当前连接的 Android 设备或模拟器,列出显示设备的序列号和...

    adb常见问题解决(手机需要root权限).docx

    当使用 ADB logcat 命令时,cmd 总是提示 "adb server didn't AC",这说明 ADB 服务没有成功启动。这种情况通常是由于端口绑定失败引起的。解决方法如下: 1. 使用 `adb nodaemon server` 命令查看 ADB 服务状态,...

    Android程序中(APK程序)执行Adb shell 命令

    我们可能需要添加一些权限,比如`&lt;uses-permission android:name="android.permission.RUN_EXTERNAL_COMMANDS" /&gt;`,尽管这个权限在API 23及以上版本已被废弃,但仍然可以用来说明你的应用需要执行shell命令。...

    adb工具(含使用说明)

    压缩包中的adb说明文档应该包含了更详细的adb使用方法、常见问题解答以及一些实用技巧。建议仔细阅读,以便更高效地使用adb进行Android开发和调试工作。 总结,adb是Android开发者必备的工具,它提供了多种功能,...

    Android开发 adb命令图示

    本文将详细解析ADB命令中的关键知识点,并通过具体命令实例进行说明。 #### 二、ADB命令详解 **1. 查看当前ADB版本:** 命令:`adb version` 该命令用于检查正在使用的ADB工具版本,确保其与当前开发环境兼容。 ...

Global site tag (gtag.js) - Google Analytics