m0_56055549 2024-07-05 19:51 采纳率: 0%
浏览 4

adb logcat 加findstr 无法导出写入

img

adb logcat 实时查看日志可以打印出来
导出写入 不加筛选条件可以写入 但是加了筛选条件就无法写入 文件一直为空
请问怎么处理 可以实时写入log

  • 写回答

1条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-07-05 19:51
    关注

    引自免费微信小程序:皆我百晓生

    你的问题是在使用 adb logcat 命令结合 findstr 进行日志筛选时,无法将筛选结果实时写入到文件中。根据你的描述,不加筛选条件时,日志可以正常写入文件,但加了筛选条件(如 findstr requestid)后,文件一直为空。这可能是由于多种原因造成的。下面是一些可能的解决方案和建议:

    解决方案:

    1. 确保筛选关键词正确:首先确认 findstr requestid 中的 requestid 是否是日志中确实存在的关键字,以及是否有拼写错误。
    2. 使用重定向操作符正确:确认命令的格式是否正确。通常使用 > 操作符来重定向输出到文件。你的命令 adb logcat -v threadtime findstr requestid > C:\Users\EDY\Desktop\log\A.log 应该没有问题,但确保路径和文件名正确且可写。
    3. 检查文件路径和权限:确认 C:\Users\EDY\Desktop\log\A.log 文件的路径是否正确,以及你有写入文件的权限。
    4. 尝试其他筛选方法:可以尝试使用其他工具或方法进行日志筛选,例如使用 grep(在支持该命令的环境下)。
    5. 检查日志源:确认 adb logcat 输出的日志流是否包含你想要的筛选关键词。有时日志可能以不同的方式呈现,或者关键词可能出现在不同的地方。
    6. 实时写入问题:关于实时写入的问题,你可能需要持续运行 adb logcat 命令以保持日志流的捕获。如果想实时写入文件,你可以考虑编写一个脚本或使用循环来不断执行该命令,并将输出追加到文件中。

    示例代码(循环实时写入):

    你可以尝试编写一个批处理脚本(例如 logcat_writer.bat),该脚本会循环执行 adb logcat 命令并将输出追加到文件中。这样即使加了筛选条件,也能实时写入。

    @echo off
    set LOG_PATH=C:\Users\EDY\Desktop\log\A.log
    :loop
    adb logcat -v threadtime | findstr requestid >> %LOG_PATH%
    sleep 1  # 休眠一秒,可以根据需要调整时间间隔
    goto loop
    

    这个脚本会不断执行 adb logcat 命令并追加筛选后的结果到指定的日志文件,你可以根据需要调整时间间隔。注意这个脚本需要在命令行环境下运行。

    希望这些建议能帮助你解决问题!如果还有其他问题或需要进一步的解释,请随时提问。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 7月5日

悬赏问题

  • ¥15 问题重发,R语言:代码运行过程中出现如下警告,请求如何解决!
  • ¥15 神经网络模型一直不能上GPU
  • ¥15 苍穹外卖拦截器token为null
  • ¥15 pyqt怎么把滑块和输入框相互绑定,求解决!
  • ¥20 wpf datagrid单元闪烁效果失灵
  • ¥15 券商软件上市公司信息获取问题
  • ¥100 ensp启动设备蓝屏,代码clock_watchdog_timeout
  • ¥15 Android studio AVD启动不了
  • ¥15 陆空双模式无人机怎么做
  • ¥15 想咨询点问题,与算法转换,负荷预测,数字孪生有关