LogCat日志
1. Window > Customize Perspective
2. 选择Shortcuts 标签
3. 在Submenus 选择Show View
4. 在Shortcut Categories选择Android
5. 在右边勾上 LogCat,然后确定。
6. Window > Show View > LogCat 就可以打开LogCat View
二 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调试的意思,但他会输出上层的信息,过滤起来可以通过DDMS的Logcat标签来选择.
3、Log.i的输出为绿色,一般提示性的消息information,它不会输出Log.v和Log.d的信息,但会显示i、w和e的信息
4、Log.w的意思为橙色,可以看作为warning警告,一般需要我们注意优化Android代码,同时选择它后还会输出Log.e的信息。
5、Log.e为红色,可以想到error错误,这里仅显示红色的错误信息,这些错误就需要我们认真的分析,查看栈的信息了。
三 adb Log过滤:
1. 只显示需要的输出,白名单
最方便的当然是通过管道使用 grep 过滤了,这样可以使用 grep 强大的正则表达式匹配。简单的匹配一行当中的某个字符串,例如 MyApp:
adb logcat | grep MyApp
adb logcat | grep -i myapp #忽略大小写。
2 保存log
使用-d参数,可以在读完所有log后返回,而不会一直等待,在自动化较有用。例如:
adb logcat -d -s xxx > xxx.log //得到filter为xxx的日志,存入xxx.log,然后返回。
3.
adb forward tcp:6100 tcp:7100// PC上所有6100端口通信数据将被重定向到手机端7100端口server上
Android日志系统提供了记录和查看系统调试信息的功能。日志都是从各种软件和一些系统的缓冲区中记录下来的,缓冲区可以通过 logcat
命令来查看和使用.
使用logcat命令
你可以用 logcat
命令来查看系统日志缓冲区的内容:
[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的时候在前两列的信息中你就可以看到 logcat
的标签列表和优先级别,它是这样标出的:<priority>/<tag>
.
下面是一个logcat输出的例子,它的优先级就似乎I,标签就是ActivityManage:
I/ActivityManager( 585): Starting activity: Intent { action=android.intent.action...}
为了让日志输出能体现管理的级别,你还可以用过滤器来控制日志输出,过滤器可以帮助你描述系统的标签等级.
过滤器语句按照下面的格式描tag:priority ...
, tag
表示是标签, priority
是表示标签的报告的最低等级. 从上面的tag的中可以得到日志的优先级. 你可以在过滤器中多次写tag:priority
.
这些说明都只到空白结束。下面有一个列子,例子表示支持所有的日志信息,除了那些标签为”ActivityManager”和优先级为”Info”以上的和标签为” MyApp”和优先级为” Debug”以上的。 小等级,优先权报告为tag.
adb logcat ActivityManager:I MyApp:D *:S
上面表达式的最后的元素 *:S
,,是设置所有的标签为"silent",所有日志只显示有"View" and "MyApp"的,用 *:S
的另一个用处是 能够确保日志输出的时候是按照过滤器的说明限制的,也让过滤器也作为一项输出到日志中.
下面的过滤语句指显示优先级为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
来运行模拟器/设备不能输出日志.
控制日志输出格式
日志信息包括了许多元数据域包括标签和优先级。可以修改日志的输出格式,所以可以显示出特定的元数据域。可以通过 -v
选项得到格式化输出日志的相关信息.
-
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>]
下面是用 thread
来产生的日志格式:
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
和 stderr
(System.out
和System.err
)输出到/dev/null
,在运行Dalvik VM的进程中,有一个系统可以备份日志文件。在这种情况下,系统会用stdout
和stderr
和优先级 I.来记录日志信息
通过这种方法指定输出的路径,停止运行的模拟器/设备,然后通过用 setprop
命令远程输入日志
$ adb shell stop $ adb shell setprop log.redirect-stdio true $ adb shell start
系统直到你关闭模拟器/设备前设置会一直保留,可以通过添加/data/local.prop
可以使用模拟器/设备上的默认设置
Logcat命令列表
-b <buffer> |
加载一个可使用的日志缓冲区供查看,比如event 和radio . 默认值是main 。具体查看Viewing Alternative Log Buffers.
|
-c |
清楚屏幕上的日志. |
-d |
输出日志到屏幕上. |
-f <filename> |
指定输出日志信息的<filename> ,默认是stdout . |
-g |
输出指定的日志缓冲区,输出后退出. |
-n <count> |
设置日志的最大数目<count> .,默认值是4,需要和 -r 选项一起使用。 |
-r <kbytes> |
每<kbytes> 时输出日志,默认值为16,需要和-f 选项一起使用. |
-s |
设置默认的过滤级别为silent. |
-v <format> |
设置日志输入格式,默认的是brief 格式,要知道更多的支持的格式,参看Controlling Log Output Format . |
相关推荐
总结起来,实时获取logcat日志信息是Android开发中的一个重要技能,这需要理解和利用`android.util.Log`类以及Android系统的shell命令。通过自定义日志标签、设置日志级别,开发者可以更有效地进行问题排查和性能...
在Android开发过程中,Logcat是调试应用程序不可或缺的工具。它是一个内置的日志系统,用于记录应用程序和系统服务的输出信息。Logcat收集所有应用程序和系统的日志消息,并将其存储在一个缓冲区中,开发者可以通过...
"Android Studio保存Logcat日志到本地的操作" Android Studio是Android应用程序开发的集成开发环境(IDE),它提供了许多实用的功能来帮助开发者快速开发和调试 Android 应用程序。其中,Logcat是Android系统中的一...
总结来说,将logcat日志存储到文件是Android开发中常用的方法,特别是在处理大量日志时。通过编写辅助类或使用adb命令,我们可以方便地保存日志并进行后续分析。同时,合理使用日志级别和过滤条件,可以提高排查问题...
在Android开发过程中,日志工具是开发者不可或缺的调试利器。Android系统自带的日志系统Logcat,可以输出应用程序运行过程中的各种信息,包括错误、警告、信息等不同级别的日志。然而,仅依赖Logcat有时并不能满足...
在Android开发中,LogCat是不可或缺的调试利器,它是一个内置的命令行工具,用于收集和显示Android设备或模拟器上的系统日志信息。通过对应用程序、系统服务以及框架组件的日志输出进行监控,开发者可以获取到运行时...
在Android开发过程中,LogCat是调试应用程序的重要工具,它能够帮助开发者查看运行时的日志信息。然而,默认情况下,LogCat不支持中文输出,这给处理包含中文信息的log带来了一定困扰。这篇博客将探讨如何使Android...
本文将深入探讨如何使用"安卓logcat输出内核日志android studio工程源码"来收集和分析内核日志信息。我们将讨论以下几个核心知识点: 1. **logcat工具**:logcat是Android系统内置的一个命令行工具,用于捕获和显示...
总的来说,Catdea插件是Android开发者的一大福音,它使Logcat日志分析变得更加智能化,大大提高了开发和调试的效率。如果你是Android Studio的用户,不妨尝试一下这个强大的插件,相信它会给你的工作带来极大的便利...
在Android开发过程中,调试是必不可少的一环,尤其是当涉及到网络通信问题时,WiFi调试和查看logcat日志显得尤为重要。本文将深入探讨如何利用WiFi进行Android设备的远程调试,并介绍如何查看并理解logcat日志。 ...
在Android应用开发中,日志(Logcat)是一个至关重要的工具,它允许开发者查看应用程序运行时的输出信息,包括错误、警告、调试信息等。通常,开发者会在计算机上的Android Studio或其他IDE中使用Logcat来追踪程序的...
### 解决华为系列手机调试时不能打印Logcat日志信息 在进行Android应用开发的过程中,开发者经常需要通过Logcat(Log Catcher)工具来获取应用运行时的日志信息,这对于定位问题、调试程序有着至关重要的作用。然而...
在Android开发过程中,Logcat是一个至关重要的工具,它用于收集应用程序和系统服务的日志消息。Logcat可以帮助开发者追踪错误、调试代码以及理解应用程序在运行时的行为。本文将深入探讨Logcat的基本概念、如何使用...
在Android开发过程中,日志系统扮演着至关重要的角色,它能够帮助开发者追踪应用运行时的状态,定位并解决出现的问题。Logcat是Android系统提供的一个用于查看系统日志的工具,而logcatviewer则是其图形化界面的实现...
LogCat是Android开发中的一个重要工具,它用于收集和查看应用程序及系统组件的日志信息,帮助开发者诊断和调试问题。在Android开发过程中,LogCat能够提供关键的反馈,尤其是在测试和优化代码时。以下是对LogCat工具...
日志调试框架 码云地址: 集成步骤 buildscript { ...... } allprojects { repositories { // JitPack 远程仓库:https://jitpack.io maven { url 'https://jitpack.io' } } } 在项目 app 模块下的 build....
在Android开发中,网络编程是不可或缺的一部分,而OkHttp作为一款高效的HTTP客户端库,被广泛应用于Android应用中。本文将详细讲解如何利用OkHttp的请求拦截器(Interceptor)实现请求的拦截并打印日志到logcat,这...
Android 开发中,Logcat 日志输出是非常重要的一部分,它可以帮助开发者调试和优化应用程序。在 Android 中,获取 Logcat 日志输出的方法有很多,本文将介绍其中的一种方法,即使用 Java 代码来获取和显示 Logcat ...
通常,开发者使用Eclipse或Android Studio这样的集成开发环境(IDE)来方便地查看和分析Logcat日志。然而,如果你不想依赖这些大型IDE或者更喜欢命令行之外的解决方案,有一些独立的工具可以实现相同功能,例如...