【问题标题】:How to prevent UnityEngine.Debug.Log writing multiple lines to ADB如何防止 UnityEngine.Debug.Log 向 ADB 写入多行
【发布时间】:2020-02-11 09:33:08
【问题描述】:

我正在使用 ADB 从在连接的 Android 设备上运行的 Unity 构建的应用程序登录 Windows PowerShell。 我只对我自己在脚本中调用的消息感兴趣,例如UnityEngine.Debug.Log("## State set to SolvingAnchor"),但 Unity 在此消息中附加了 8 行:

  • .\adb logcat -s Unity -e "^[#]{2}" -m 1
  • ---------崩溃开始
  • ---------系统开始
  • --------- main 开始
  • 02-11 10:07:42.658 8293 8315 I Unity:## 状态设置为 SolvingAnchor
  • 02-11 10:07:42.658 8293 8315 I Unity: UnityEngine.DebugLogHandler:LogFormat(LogType, Object, 字符串,对象[])
  • 02-11 10:07:42.658 8293 8315 我团结: UnityEngine.Logger:Log(LogType, Object)
  • 02-11 10:07:42.658 8293 8315 I Unity:UnityEngine.Debug:Log(Object)
  • 02-11 10:07:42.658 8293 8315 我团结: Assets.Scripts.TrackedImageHandler:SetState(State)
  • 02-11 10:07:42.658 8293 8315 I 统一:Assets.Scripts.TrackedImageHandler:Update()

  • 02-11 10:07:42.658 8293 8315 我团结:

  • 02-11 10:07:42.658 8293 8315我统一:(文件名:./Runtime/Export/Debug/Debug.bindings.h 行:35)
  • 02-11 10:07:42.658 8293 8315 我团结:

正如我所希望的那样,正则表达式的输出过滤不能正常工作。 有没有办法只打印消息并跳过 Unity 生成的冗余行?

【问题讨论】:

    标签: android unity3d adb remote-debugging


    【解决方案1】:

    您可以在控制台窗口的右上角菜单中更改项目的堆栈跟踪日志设置:

    将其设置为“无”将使 Unity 忽略所有那些额外的堆栈跟踪行。您可以为错误、警告、日志等单独设置它,也可以在“全部”下为所有类型的消息更改它。

    【讨论】:

    • 这也是一个可行的解决方案,但我标记了 JeanLuc 的答案,因为它感觉更“易于访问”
    • 应该是Accepted Answer,我浪费了1个小时的谷歌搜索终于找到了这个。
    【解决方案2】:

    在 Project Settings > Player > Android > Other Settings > Logging 中将所有 Logging Types 设置为 NoneScript Only

    这将使 ADB logcat 相当紧凑。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多