本節說明個別錯誤日誌組件的特性。如需設定錯誤記錄的一般資訊,請參閱第 7.4.2 節,「錯誤日誌」。
日誌組件可以是篩選器或接收器
篩選器會處理日誌事件,以新增、移除或修改事件欄位,或完全刪除事件。產生的事件會傳遞到已啟用組件清單中的下一個日誌組件。
接收器是日誌事件的目的地(寫入器)。一般而言,接收器會將日誌事件處理成具有特定格式的日誌訊息,並將這些訊息寫入其相關的輸出,例如檔案或系統日誌。接收器也可以寫入效能結構描述
error_log
表格;請參閱第 29.12.22.2 節,「error_log 表格」。事件會未修改地傳遞到已啟用組件清單中的下一個日誌組件(也就是說,雖然接收器會格式化事件以產生輸出訊息,但不會在事件內部傳遞到下一個組件時修改事件)。
log_error_services
系統變數會列出已啟用的日誌組件。未在清單中命名的組件會停用。log_error_services
也會在尚未載入時隱含載入錯誤日誌組件。如需更多資訊,請參閱第 7.4.2.1 節,「錯誤日誌設定」。
以下章節說明個別日誌組件,依組件類型分組
組件說明包含這些類型的資訊
組件名稱和預期用途。
組件是內建的還是必須載入。對於可載入組件,說明會指定在使用
INSTALL COMPONENT
和UNINSTALL COMPONENT
陳述式明確載入或解除載入組件時要使用的 URN。隱含載入錯誤日誌組件只需要組件名稱。如需更多資訊,請參閱第 7.4.2.1 節,「錯誤日誌設定」。組件是否可以在
log_error_services
值中列出多次。對於接收器組件,組件會將輸出寫入的目的地。
對於接收器組件,它是否支援連線到效能結構描述
error_log
表格。
錯誤日誌篩選組件會實作錯誤日誌事件的篩選。如果未啟用任何篩選組件,則不會進行篩選。
任何已啟用的篩選組件只會影響 log_error_services
值中稍後列出的組件的日誌事件。尤其是,對於在任何篩選組件之前列在 log_error_services
中的任何日誌接收器組件,不會進行任何日誌事件篩選。
log_filter_internal 組件
用途:根據日誌事件優先順序和錯誤碼,並結合
log_error_verbosity
和log_error_suppression_list
系統變數,實作篩選。請參閱第 7.4.2.5 節,「基於優先順序的錯誤日誌篩選 (log_filter_internal)」。URN:此組件為內建,無需載入。
允許多次使用:否。
如果 log_filter_internal
已停用,則 log_error_verbosity
和 log_error_suppression_list
不會產生任何作用。
log_filter_dragnet 組件
目的:根據
dragnet.log_error_filter_rules
系統變數設定所定義的規則實作篩選。請參閱第 7.4.2.6 節,「基於規則的錯誤日誌篩選 (log_filter_dragnet)」。URN:
file://component_log_filter_dragnet
允許多次使用:否。
錯誤日誌接收器元件是實作錯誤日誌輸出的寫入器。如果沒有啟用接收器元件,則不會發生日誌輸出。
有些接收器元件描述會提到預設錯誤日誌目的地。這指的是主控台或檔案,並由 log_error
系統變數的值指出,如同第 7.4.2.2 節,「預設錯誤日誌目的地配置」中所述。
log_sink_internal 元件
目的:實作傳統錯誤日誌訊息輸出格式。
URN:此組件為內建,無需載入。
允許多次使用:否。
輸出目的地:寫入至預設錯誤日誌目的地。
效能結構描述支援:寫入至
error_log
資料表。提供一個剖析器,用於讀取先前伺服器執行個體建立的錯誤日誌檔案。
log_sink_json 元件
目的:實作 JSON 格式錯誤日誌記錄。請參閱第 7.4.2.7 節,「JSON 格式的錯誤日誌記錄」。
URN:
file://component_log_sink_json
允許多次使用:是。
輸出目的地:此接收器根據預設錯誤日誌目的地決定其輸出目的地,而預設錯誤日誌目的地由
log_error
系統變數給定。如果
log_error
指定一個檔案,則接收器會根據該檔案名稱以及編號的.
後綴來建立輸出檔案名稱,其中NN
.jsonNN
從 00 開始。例如,如果log_error
是file_name
,則在log_error_services
值中命名的log_sink_json
後續執行個體會寫入
、file_name
.00.json
等等。file_name
.01.json如果
log_error
是stderr
,則接收器會寫入至主控台。如果log_sink_json
在log_error_services
值中被多次命名,則它們全部都會寫入至主控台,這可能不是很有用。
效能結構描述支援:寫入至
error_log
資料表。提供一個剖析器,用於讀取先前伺服器執行個體建立的錯誤日誌檔案。
log_sink_syseventlog 元件
目的:實作寫入至系統日誌的錯誤日誌記錄。這是 Windows 上的事件日誌,以及 Unix 和類 Unix 系統上的
syslog
。請參閱第 7.4.2.8 節,「寫入至系統日誌的錯誤日誌記錄」。URN:
file://component_log_sink_syseventlog
允許多次使用:否。
輸出目的地:寫入至系統日誌。不使用預設錯誤日誌目的地。
效能結構描述支援:不寫入至
error_log
資料表。不提供剖析器來讀取先前伺服器執行個體建立的錯誤日誌檔案。
log_sink_test 元件
目的:用於內部編寫測試案例,而非用於生產用途。
URN:
file://component_log_sink_test
針對 log_sink_test
,未指定是否允許多次使用以及輸出目的地等接收器屬性,因為如前所述,它是供內部使用。因此,其行為可能會隨時變更。