Fuchsia.logger

已新增:7

專家

記錄

定義於 fuchsia.logger/logger.fidl

LogListenerSafe 註冊介面,用於註冊監聽記錄。

傾印記錄檔安全

對所有快取記錄進行傾印,方法是在 log_listener 上呼叫 LogMany() 後再加上 Done()。如果 options 為空值,表示不需篩選。

要求

名稱類型
log_listener LogListenerSafe
options LogFilterOptions?

ListenSafe

針對每則新記錄訊息,以批次方式呼叫 LogMany() 之後,並加上 Log() 來傾印所有快取記錄。如果 options 為空值,表示不需篩選。

要求

名稱類型
log_listener LogListenerSafe
options LogFilterOptions?

ListenSafeWithSelectors

透過對 log_listener 呼叫 Log() 來監聽新的記錄項目。如果 options 為空值,表示不需篩選。

要求

名稱類型
log_listener LogListenerSafe
options LogFilterOptions?
selectors vector<fuchsia.diagnostics/LogInterestSelector>[64]

LogListenerSafe

定義於 fuchsia.logger/logger.fidl

這個事件監聽器會在收到每則訊息後通知 Log

完成

這個事件監聽器傳遞至 DumpLogsSafe() 且所有快取記錄均已傳送時呼叫。

要求

<空白>

記錄

呼叫單一訊息。

回傳值會用於流量控制,實作者應確認已收到每則訊息,以便繼續接收後續訊息。

要求

名稱類型
log LogMessage

回應

<空白>

記錄多個

在提供快取記錄時呼叫。

每次呼叫的記錄大小上限為 MAX_LOG_MANY_SIZE_BYTES 個位元組。

回傳值會用於控制流量,實作者應確認已收到每個批次,以便繼續接收後續的訊息。

要求

名稱類型
log vector<LogMessage>

回應

<空白>

記錄檔接收器

定義於 fuchsia.logger/logger.fidl

排除程式的記錄。

連線

將這個通訊端傳送至要清空的通訊端。

請參閱 wire_format.h,瞭解應透過通訊端接收到的內容。

要求

名稱類型
socket handle<socket>

ConnectStructured (連結結構化)

使用結構化記錄格式傳送要清空的通訊端。

請參閱編碼結構化記錄,瞭解預期會透過通訊端接收的內容。

要求

名稱類型
socket handle<socket>

等待興趣變更

當 LogSink 實作器的興趣範圍有所變更時,就會傳回這個等待擷取項目。用戶端應根據登錄的興趣發出訊息。如果收信沒有內容,用戶端應根據預設設定 (例如編譯時間設定) 發出訊息。每個用戶端一次只能輪詢一次。在第一次呼叫傳回前再次叫用 WaitForInterestChange 會導致傳回錯誤。

要求

<空白>

回應

名稱類型
payload LogSink_WaitForInterestChange_Result

結構

LogFilterOptions

定義於 fuchsia.logger/logger.fidl

欄位類型說明預設
filter_by_pid bool 無預設
pid uint64 無預設
filter_by_tid bool 無預設
tid uint64 無預設
verbosity uint8

如果超過零,系統就會根據詳細程度篩選記錄,並忽略 min_severity

無預設
min_severity LogLevelFilter

以嚴重性做為判定記錄層級的嚴重性。

無預設
tags vector<string>[16]

如果非空白,則傳回至少含有一個指定標記的所有訊息。如果留空,系統就不會依標記篩選訊息。 傳遞的標記長度不得超過 MAX_TAG_LEN_BYTES 個位元組,標記數量上限則為 MAX_TAGS。如未遵循限制,系統就會捨棄事件監聽器。

無預設

記錄訊息

定義於 fuchsia.logger/logger.fidl

欄位類型說明預設
pid uint64 無預設
tid uint64 無預設
time zx/Time

zx_clock_get_monotonic

無預設
severity int32 無預設
dropped_logs uint32

請參閱 wire_format.h。由於訊息可能會發生順序錯誤,因此只有在超過最後計數的情況下,才能記錄這個事件。

無預設
tags vector<string>[5] 無預設
msg string[32768] 無預設

LogSink_WaitForInterestChange_Response

定義於 fuchsia.logger/logger.fidl

欄位類型說明預設
data fuchsia.diagnostics/Interest 無預設

表情符號

InterestChangeError 嚴格

類型:uint32

定義於 fuchsia.logger/logger.fidl

名稱說明
1

之前呼叫了 WaitForInterestChange 兩次而沒有等待第一個呼叫傳回。

LogLevelFilter 嚴格

類型:int8

定義於 fuchsia.logger/logger.fidl

搭配記錄檔相關篩選功能使用的記錄檔層級。篩選作業會依據嚴重性最低的門檻 (即等於或大於可列印記錄中包含的門檻的任何記錄) 使用經驗法則。

名稱說明
16
32
48
64
80
96
127

聯合國

LogSink_WaitForInterestChange_Result strict

定義於 fuchsia.logger/logger.fidl

序數Variant類型說明
response LogSink_WaitForInterestChange_Response
err InterestChangeError

場景

名稱類型說明
記錄層級預設

用於初始化記錄器的預設記錄層級。

LOG_SEVERITY_MAX_STEP 6 uint8

可用記錄檔嚴重性上限。

LOG_SEVERITY_STEP_SIZE 16 uint8

離散記錄嚴重性等級之間的間隔時間

LOG_VERBOSITY_STEP_SIZE 1 uint8

離散記錄詳細程度等級之間的間隔

MAX_DATAGRAM_LEN_BYTES 32768 uint32

訊息酬載的位元組大小上限。

MAX_LOG_MANY_SIZE_BYTES 16384 uint64

每次呼叫事件監聽器的記錄位元組數上限。

MAX_TAGS 16 uint8

可傳遞給事件監聽器篩選的標記數量上限。

MAX_TAGS_PER_LOG_MESSAGE 5 uint8

要附加至 LogMessage 的標記數量上限。

MAX_TAG_LEN_BYTES 63 uint8

可依事件監聽器篩選的標記長度上限。