adb logcat 二进制模式忽略过滤器规范?

adb logcat binary mode ignores filterspecs?

adb shell

$ logcat -B -s MyTag
$ logcat -B MyTag:I *:S

以上两个命令只接收二进制流中的日志标签MyTag。 但它似乎只在 binary 模式下忽略 filterspecs 参数。

我在 logcat.cpp code

找不到任何可以忽略的线索

是否可以应用 -B 二进制格式的 filterspec?

logcat 代码非常清晰:

if (context->printBinary) {
    printBinary(context, &log_msg);
} else {
    processBuffer(context, dev, &log_msg);
}

如果通过指定 -B 参数将 context->printBinary 设置为 1 - 将调用 printBinary(),它不会执行任何其他处理(如过滤)。