驱动程序日志记录

您可以使用 lib/ddk/debug.h 中定义的 zxlogf(<log_level>,...) 宏,让驱动程序将日志消息发送到 syslog

默认情况下,日志消息会发送到以下日志,具体取决于日志级别的类型:

  • syslog
    • ERROR
    • WARNING
    • INFO

如需控制发送到 syslog 的日志级别,您可以使用产品组件中的平台配置。您可以在产品中指定汇编平台配置,也可以通过产品汇编的开发者替换项指定汇编平台配置。

如需通过开发者替换项为产品组装设置此属性,请在 //local/BUILD.gn 中使用以下代码:

# //local/BUILD.gn:
assembly_developer_overrides("sdhci-debug-logs") {
    platform = {
        diagnostics = {
            component_log_initial_interests = [
                {
                    component = "fuchsia-boot:///sdhci#meta/sdhci.cm"
                    log_severity = "debug"
                },
            ]
        }
    }
}

然后,使用 fx set 设置 assembly-override

fx set <product.board> --assembly-override=//local:sdhci-debug-logs

此外,这会为 sdhci 驱动程序启用 DEBUGTRACE 日志,因为我们正在设置最低日志级别,而 TRACE 低于 DEBUG

驱动程序的日志会带有进程名称“driver”和驱动程序名称的标记。这可用于在搜索特定日志时过滤 syslog 的输出。