您可以使用 zxlogf(<log_level>,...)
巨集 (在 lib/ddk/debug.h 中定義),讓驅動程式庫將記錄訊息傳送至 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
此外,由於我們設定了最低記錄層級,且 TRACE
低於 DEBUG
,因此這會啟用 sdhci 驅動程式庫的 DEBUG
和 TRACE
記錄。
驅動程式記錄會標記為「驅動程式庫」程序名稱和驅動程式庫名稱。這可用於在搜尋特定記錄時,篩選 syslog 的輸出內容。