求教怎么在android 控制台输出的Logcat中输出日志

adb logcat命令查看并过滤android输出log_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
adb logcat命令查看并过滤android输出log
你可能喜欢包含一个可以显示调试消息的 logcat 监视器。logcat 监视器既可以显示系统消息(例如何时发生了垃圾回收),也能显示您可以使用
类添加到应用中的消息。此监视器可以实时显示消息,也可以保留历史记录,以便您查看较旧的消息。
要仅显示感兴趣的信息,您可以创建过滤器,修改消息中显示的信息量,设置优先级,仅显示通过应用代码生成的消息,以及搜索日志。默认情况下,logcat 监视器仅显示与最近运行的应用相关的日志输出。
如果应用引发异常,logcat 监视器会显示一条消息,接着显示关联的堆栈跟踪,堆栈跟踪包含指向该代码的链接。此功能可以帮助您修复错误和改进应用操作。
自 Android Studio 2.2 开始,Run 窗口还会显示当前正在运行的应用的日志消息。请注意,您可以配置 logcat 监视器显示,但无法配置 Run 窗口。
logcat 消息格式
每个 Android 日志消息都有与其关联的标记和优先级。系统日志消息的标记是一个简短的字符串,其表示消息所源自的系统组件(例如,ActivityManager)。用户自定义的标记可以是您认为有用的任意字符串,例如当前类的名称(建议的标记)。您可以在 Log 方法调用中定义名称,例如:
Log.d(tag, message);
优先级是以下值之一:
V — 详细(最低优先级)
日志消息的格式为:
date time PID-TID/package priority/tag: message
例如,下面的日志消息的优先级为 V,标记为 AuthZen:
12-10 13:02:50.071 /com.google.android.gms V/AuthZen: Handling delegate intent.
PID 代表进程标识符,TID 则为线程标识符;如果仅有一个线程,两者可以相同。
在 logcat 监视器中显示正在运行的应用
要显示特定应用的日志消息,请执行以下操作:
打开一个应用项目。
在硬件设备或模拟器上。
点击 logcat 标签。
默认情况下,logcat 监视器仅显示设备或模拟器上正在运行的应用的日志消息:
要更改此默认设置,请参阅。
(可选)。
设置日志级别
您可以设置日志级别,以控制 logcat 监视器中显示的消息数量。您可以显示所有消息,也可以仅显示指示最严重状态的消息。
请记住,无论日志级别设置如何,logcat 监视器都会继续收集所有消息。此设置仅决定 logcat 监视器的显示内容。
要设置日志级别,请执行以下操作:
在 Log level 菜单中,选择以下值之一:
Verbose - 显示所有日志消息(默认值)。
Debug - 显示仅在开发期间有用的调试日志消息,以及此列表中较低的消息级别。
Info - 显示常规使用的预计日志消息,以及此列表中较低的消息级别。
Warn - 显示尚不是错误的潜在问题,以及此列表中较低的消息级别。
Error - 显示已经引发错误的问题,以及此列表中较低的消息级别。
Assert - 显示开发者预计绝不会发生的问题。
要搜索 logcat 监视器中当前显示的消息,请执行以下操作:
(可选)如果您想要使用正则表达式搜索模式,请选择 Regex。
在搜索字段中键入字符序列
logcat 监视器将相应地显示更改。
按 Enter 键以在此会话期间将搜索字符串保存到菜单中。
要重复搜索,请从搜索菜单中选择。根据需要选择或取消选择 Regex(不建议使用此设置)。
过滤 logcat 消息
一种将日志输出减少至可管理水平的方式是,使用过滤器进行限制。
注:过滤器的应用范围为整个 logcat 历史记录,而不仅仅是 logcat 监视器中当前显示的消息。确保对其他显示选项进行相应设置,以便您能够看到想要检查的过滤器输出。
要定义并应用过滤器,请执行以下操作:
在过滤器菜单中,选择一个过滤选项:
Show only selected application - 仅显示通过应用代码生成的消息(默认选项)。logcat 监视器将使用活动应用的 PID 过滤日志消息。
No Filters - 不应用过滤器。无论您选择哪个进程,logcat 监视器都会显示设备中的所有日志消息。
Edit Filter Configuration - 创建或修改自定义过滤器。例如,您可以创建一个过滤器,以同时查看两个应用中的日志消息。
定义过滤器后,您还可以在菜单中选择它们。要从菜单中移除过滤器,请删除过滤器。
如果您选择了 Edit Filter Configuration,请创建或修改过滤器。
在 Create New Logcat Filter 对话框中指定过滤器参数:
Filter Name - 键入您想要定义的过滤器的名称,或者从左侧面板中选择一个以修改现有过滤器。名称只能包含小写字符、下划线和数字。
Log Tag -(可选)指定标记。如需了解详细信息,请参阅 。
Log Message -(可选)指定日志消息文本。如需了解详细信息,请参阅 。
Package Name -(可选)指定软件包名称。如需了解详细信息,请参阅 。
PID -(可选)指定进程 ID。如需了解详细信息,请参阅 。
Log Level -(可选)选择日志级别。如需了解详细信息,请参阅。
Regex - 选择此选项可以为相关参数使用正则表达式。
点击 +,将过滤器定义添加到左侧面板中。
要移除过滤器,请在左侧面板中将其选中,然后点击 -。
完成后,点击 OK。如果您点击 Cancel,任何过滤器添加或修改操作都会丢失。
确保您能看到想要检查的日志消息。
如果您认为没有看到想要检查的日志消息,请尝试选择 No filters 并特定日志消息。
要自定义标题显示以仅显示感兴趣的信息,请执行以下操作:
选择“Use Soft Wraps”
以查看整个消息,并防止其从右侧边缘消失。
点击“Configure Logcat Header”
以指定想要显示或隐藏的消息的元素,然后点击 OK。
如需了解有关消息元素的详细信息,请参阅 。
上下移动堆叠跟踪
在应用引发异常时,消息将包含方法调用的堆栈追踪。logcat 监视器让您可以在日志中快速定位堆栈追踪,并在代码编辑器中查看关联代码。如果需要(和可能),逆编译程序将派生您可以查看的源代码。
要上下移动堆栈追踪并在代码编辑器中查看关联代码,请执行以下操作:
点击“Up the Stack Trace”
可以移动到日志中相对于当前位置的前一个方法。
点击“Down the Stack Trace”
可以移动到日志中相对于当前位置的下一个方法。
移动到日志结尾
点击特定消息将停止显示消息。
要快速移动到日志结尾以查看实时消息流,请执行以下操作:
点击“Scroll to the End”
按 End 键。
滚动或按 Page Down 键,直至结尾。
打印和写入文件
要保留日志信息,您可以将日志发送到打印机,将日志写入 PDF 文件,或者将日志复制并粘贴到文本文件中。
要打印日志或将其写入 PDF 文件,请执行以下操作:
点击“Print”
在 Android Studio 的 Print 对话框中,可以选择更改打印参数,然后点击 Print。
在操作系统的 Print 对话框中,可以选择更改打印参数,然后点击 Print。
您可以设置参数,以将日志发送到打印机或将其写入 PDF 文件。
要将日志复制到文本文件,请执行以下操作:
在 logcat 监视器中,请选择然后复制日志文本。
按 Ctrl+A (?A) 全选。
打开文本编辑器并将文本粘贴到文件中。
清除和重启日志
要清除(刷新)整个日志,请执行以下操作:
点击“Clear logcat”
如果存在问题并且日志不再记录,您可以重启日志:
点击“Restart”
向您的代码添加日志消息
您可以通过
类创建在 logcat 监视器中显示的日志消息。一般来说,您应使用以下日志方法,这些方法按照优先级从高到低(或者从最简略到最详细)的顺序列示:
类说明,查看更完整的选项列表。
除开发期间外,其他任何时候都绝不应将详细日志编译到您的应用中。调试日志虽然会编译,但会在运行时去掉,而错误、警告和信息日志会始终保留。
对于每种日志方法,第一个参数都应是唯一标记,第二个参数是消息。系统日志消息的标记是一个简短的字符串,其表示消息所源自的系统组件(例如,)。您的标记可以是您认为有用的任意字符串,例如当前类的名称。
一种比较好的做法是,在要用于第一个参数的类中声明 TAG 常量。例如,您可以按照以下步骤创建一条信息日志消息:
private static final String TAG = "MyActivity";
Log.i(TAG, "MyClass.getView() & get item number " + position);
注:长度大于 23 个字符的标记名称在 logcat 输出中会被截断。
This site uses cookies to store your preferences for site-specific language and display options.
Email 地址
Company / developer name
One of your Play Store app URLs
What are you interested in?*
What's new
Games updates
Android development
Receive newsletter in
Chinese (Simplified)
Chinese (Traditional)
Indonesian (Bahasa)
Portuguese (Brazilian)
Spanish (Latin American)
Vietnamese
You have successfully signed up for the latest Android developer news and tips.
You requested a page in , but your language preference for this site is .
Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.
This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.
For more information about specifying the API level your app requires, read .
Take a short survey?
Help us improve the Android developer experience.
(Dec 2017 Android Platform & Tools Survey)求教怎么在android的Logcat中输出日志_百度知道
求教怎么在android的Logcat中输出日志
我有更好的答案
error级别的日志 其中tag和message分别是两个String值.从android开发帮助文档中来看,tag和message的定义分别是: tag
Used to identify the source of a log message. It usually identifies the class or activity whereinfo级别的日志 L
/&#47.而message则是这条log的内容. 从日志的输出数量来算,error,verbose模式;debug级别的日志 Log.i(tag,message);
/&#47. msg
The message you would like logged. 可看出tag用来标记log消息的源头的,info,debug,verbose,数量从少到多,打印最详细的日志 Log.d(tag,message);位于/warn级别的日志 Log.e(tag,message);
/&#47.w(tag,message);
&#47: Log.v(tag,message).util.Log这个类中. 这个类比较常用的打印日志的方法有5个,这5个方法都会把日志打印到LogCat中android提供了自己的log输出api--&
采纳率:95%
来自团队:
debug,message);
//info级别的日志
Log.e(/error级别的日志
其中tag和message分别是两个String值.从android开发帮助文档中来看,tag和message的定义分别是:
Used to identify the source of a log message.而message则是这条log的内容.
从日志的输出数量来算.w(tag.v(tag,warn,/verbose模式,打印最详细的日志
Log.d(tag,message).i(debug级别的日志
Log,error,
//位于android,message);
&#47. It usually identifies the class or activity where the log call occurs.
The message you would like logged.
可看出tag用来标记log消息的源头的,message);
//warn级别的日志
Log.util.Log这个类中.
这个类比较常用的打印日志的方法有5个,这5个方法都会把日志打印到LogCat中android提供了自己的log输出api--&gt,message);
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。1,关闭模拟器;
2,重启开发工具(Eclipse);
3,设置手机上---开发--USB调试。
4,如果你手机上Sdcard为计算机管理,请设置为让手机加载。
5,如果开发工具(Eclipse),启动好了的话,把数据线重新插拔,便于重新识别。
6.最后一步,运行程序(注意:但不要再启动模拟器了),这样,就可以在(Eclipse)中的logCat,看到手机上运行程序的日志了。
yangguangfu
浏览: 1340346 次
来自: 北京
aclululu 写道最后一个表示不解,既然已经New Jia ...
aclululu 写道最后一个表示不解,既然已经New Jia ...
写的不错,是男人的话,瞬间就能理解了。
最后一个表示不解,既然已经New JiaShi出来了,为毛在装 ...
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'求教怎么在android的Logcat中输出日志_百度知道
求教怎么在android的Logcat中输出日志
我有更好的答案
华为系列手机默认是关闭了日志输出的,需要人工打开。方法如下:进入拨号界面输入:*#*#2846579#*#*依次选择ProjectMenu---后台设置----LOG设置---LOG开关,勾选&CP日志“即可。
采纳率:59%
来自团队:
为您推荐:
其他类似问题
logcat的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 android输出log到文件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信