adb logcat,只显示自定义日志事件?

adb logcat, only display custom log events?

我正在使用 adb logcat -s Unity 查看我的 Android 构建的日志输出。但是,我得到了很多我并不总是需要的东西:

08-10 15:53:25.956 17278 17297 D Unity   : Sensor :        Accelerometer ( 1) ; 0.002394 / 0.00s ; BMI160 accelerometer / Bosch
08-10 15:53:25.960 17278 17297 D Unity   : Choreographer available: Enabling VSYNC timing
08-10 15:53:26.133 17278 17297 I Unity   : Launching UI...
08-10 15:53:26.133 17278 17297 I Unity   : UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object)
08-10 15:53:26.133 17278 17297 I Unity   : UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
08-10 15:53:26.133 17278 17297 I Unity   : UnityEngine.Logger:Log(LogType, Object)
08-10 15:53:26.133 17278 17297 I Unity   : UnityEngine.Debug:Log(Object)

有没有办法只获取我故意输出的消息,即上面的"Launching UI..."?

目前我正在使用 Debug.Log() 输出这些消息。

您可以为发送的每条日志消息添加前缀。

Debug.Log("<my-prefix> Hello World");

然后,在 linux:

adb logcat | grep '<my-prefix>'

或 Windows:

adb logcat | find "<my-prefix>"

您也可以创建自己的日志方法来自动为您的日志消息添加前缀。

编辑

使用 logcat 的 -e 选项,您可以获得相同的行为:

adb logcat -e <my-prefix>

您可以尝试以下命令来获取unity项目的调试日志,

adb logcat -s Unity PackageManager dalvikvm DEBUG