驅動程式記錄

您可以使用 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 驅動程式庫的 DEBUGTRACE 記錄。

驅動程式記錄會標記為「驅動程式庫」程序名稱和驅動程式庫名稱。這可用於在搜尋特定記錄時,篩選 syslog 的輸出內容。