关于AndroidStudio的logcat日志时间停滞不刷新问题

我也是最近才开始使用AndroidStudio的,在使用的时候出现了这个情况:发现底部log日志还是昨天的日志,时间固定且总是刷新不了且清除不了.
日志时间与系统时间不一致,这也不是其他博客说的虚拟机时间不同步的问题,我用真机测试的

我试了几次重启AndroidStudio还是时间不刷新,然后我又在工具栏Tool–>Android—>Android Device Monitor打开DDMS查看log日志确实可以正常时间同步刷新日志的.但又不能总是每次有日志就打开这个吧,因为我也不知道为什么AndroidStudio运行项目的时候警告说这个必须关闭才能运行.每次运行后反复打开这个也很麻烦的说

后来才发现我即开了虚拟机又开了真机,我用真机测试,log日志确是Genymotion的虚拟机log.

只要点击红框里切换你要用的调试机器就可以了

只要点击红框里切换你要用的调试机器就可以了

这样日志就可以实时刷新了,当然你也可以把不需要的虚拟机关掉,留一个用也可以的说

<think>我们正在处理关于Android Studio Logcat过滤命令和用法示例的问题。用户希望了解如何在Logcat中使用过滤命令来查看特定的日志信息。 根据我们之前提供的引用,虽然引用内容是关于JNI调试和CheckJNI设置的,但用户的问题已经明确转向Logcat过滤命令。因此,我们将忽略引用中相关的内容,直接回答用户的问题。 LogcatAndroid开发中用于查看系统日志的工具,它可以帮助开发者调试应用程序。在Android Studio中,Logcat窗口提供了多种过滤选项,包括按标签(Tag)、级别(Level)、进程ID(PID)、包名(Package)等。 常用的过滤命令(在Logcat的过滤栏中直接输入)包括: 1. 按标签过滤:tag:MyTag 2. 按日志级别过滤:level:DEBUG, level:WARN, level:ERROR等(注意:级别需要大写) 3. 按包名过滤:package:com.example.myapp 4. 按进程ID过滤:pid:1234 5. 按关键字过滤:直接输入关键字(如:Exception) 6. 组合过滤:可以使用多个条件,用空格隔开(表示AND关系),例如:tag:MyTag level:ERROR 此外,还可以使用正则表达式:在过滤栏右侧有一个下拉菜单,可以选择“Regex”来使用正则表达式过滤。 下面是一些具体的用法示例: 示例1:只显示标签为“MainActivity”的日志 tag:MainActivity 示例2:显示标签为“MainActivity”且日志级别为ERROR或以上的日志 tag:MainActivity level:ERROR 示例3:显示包名为“com.example.myapp”的日志 package:com.example.myapp 示例4:显示包含“NullPointer”异常的日志 NullPointer 示例5:使用正则表达式匹配多个标签(例如以“My”开头的标签) 在过滤栏选择Regex,然后输入:tag:My.* 注意:在Android Studio的新版本中,Logcat界面有所变化,但过滤方式基本一致。另外,还可以保存过滤条件以便快速切换。 如果用户需要更复杂的过滤,还可以使用adb logcat命令,但通常Android Studio的图形界面过滤已经足够。 由于用户要求的是在Android Studio中的过滤命令,我们主要介绍图形界面的过滤栏使用方法。 下面,我们按照要求生成相关问题。</think>### Android Studio Logcat 过滤命令及用法示例 在 Android Studio 中使用 Logcat 时,可通过过滤命令精准定位日志信息。以下是常用过滤语法及示例: --- #### **1. 基础过滤命令** | **过滤类型** | **语法格式** | **示例** | **说明** | |----------------|-----------------------|-----------------------------------|-----------------------------| | 按标签(Tag) | `tag:标签名` | `tag:MyActivity` | 显示特定组件/类的日志 | | 按日志等级 | `level:级别` | `level:ERROR` | 仅显示错误日志(大写) | | 按包名 | `package:包名` | `package:com.example.app` | 过滤指定应用的日志 | | 按进程ID(PID) | `pid:进程ID` | `pid:1234` | 显示特定进程的日志 | | 关键字搜索 | 直接输入关键词 | `NetworkError` | 搜索包含关键词的日志 | --- #### **2. 组合过滤** 使用空格分隔多个条件实现 **AND** 逻辑: ```log tag:MyFragment level:WARN package:com.example.app ``` 显示包名 `com.example.app` 中,标签为 `MyFragment` 且级别为 **WARN** 的日志--- #### **3. 正则表达式过滤** 在过滤栏右侧下拉菜单选择 **Regex** 模式: ```regex tag:ViewModel.* level:ERROR ``` 匹配所有以 `ViewModel` 开头的标签且级别为 **ERROR** 的日志--- #### **4. 排除过滤** 使用 `-` 排除特定内容: ```log -tag:Test ``` 排除所有标签包含 `Test` 的日志--- #### **5. 常用快捷操作** - **保存过滤方案**:点击过滤栏左侧 **+** 图标,命名后保存常用过滤条件 ![Logcat Save Filter](https://developer.android.com/static/studio/images/debug/logcat-save-filter_2x.png) - **快速切换**:通过下拉菜单选择已保存的过滤方案 - **清除日志**:工具栏垃圾桶图标 🗑️ 或快捷键 `Ctrl+L`(Windows/Linux)/ `Cmd+L`(Mac) --- #### **6. 高级 adb logcat 命令** 在终端直接使用 adb 过滤日志(需连接设备): ```bash # 显示指定包名的 ERROR 日志 adb logcat com.example.app:E *:S # 按关键字实时过滤(Ctrl+C 退出) adb logcat | grep "NullPointer" ``` > `*:S` 表示静默其他包名的日志,`grep` 为 Linux/Mac 命令(Windows 可用 `findstr`)。 --- #### **示例场景** **问题**:仅监控 `LoginActivity` 中的调试日志,排除 `Firebase` 相关日志 **解决方案**: ```log tag:LoginActivity level:DEBUG -tag:Firebase ``` --- ### 注意事项 1. 过滤条件**区分大小写**(如 `level:error` 无效,需用 `level:ERROR`) 2. 新版本 Android Studio(2022+)使用 **结构化过滤界面**,支持可视化条件组合 3. 使用 `package:` 时需确保应用已启动(否则无进程ID) > 官方文档参考:[Filter log messages  |  Android Studio](https://developer.android.com/studio/debug/logcat#filter)[^1] ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值