您可以使用 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 驱动程序启用 DEBUG
和 TRACE
日志,因为我们正在设置最低日志级别,而 TRACE
低于 DEBUG
。
驱动程序的日志会带有进程名称“driver”和驱动程序名称的标记。这可用于在搜索特定日志时过滤 syslog 的输出。