MySQL 8.4 發行說明
本節說明如何使用內建篩選器 log_filter_internal
和 JSON 接收器 log_sink_json
來設定錯誤記錄,使其立即生效並適用於後續的伺服器啟動。如需設定錯誤記錄的一般資訊,請參閱第 7.4.2.1 節,「錯誤日誌設定」。
若要啟用 JSON 接收器,請先載入接收器元件,然後修改 log_error_services
的值
INSTALL COMPONENT 'file://component_log_sink_json';
SET PERSIST log_error_services = 'log_filter_internal; log_sink_json';
若要設定 log_error_services
在伺服器啟動時生效,請使用第 7.4.2.1 節,「錯誤日誌設定」中的說明。這些說明也適用於其他錯誤記錄系統變數。
允許在 log_error_services
值中多次命名 log_sink_json
。例如,若要使用一個執行個體寫入未篩選的事件,並使用另一個執行個體寫入已篩選的事件,您可以將 log_error_services
設定如下
SET PERSIST log_error_services = 'log_sink_json; log_filter_internal; log_sink_json';
JSON 接收器會根據預設錯誤日誌目的地(由 log_error
系統變數給定)來判斷其輸出目的地。如果 log_error
命名為檔案,則 JSON 接收器會根據該檔案名稱,加上編號的 .
後綴,其中 NN
.jsonNN
從 00 開始,來命名輸出檔案。例如,如果 log_error
是 file_name
,則在 log_error_services
值中命名的 log_sink_json
的連續執行個體會寫入
、file_name
.00.json
,依此類推。file_name
.01.json
如果 log_error
是 stderr
,則 JSON 接收器會寫入主控台。如果 log_sink_json
在 log_error_services
值中多次命名,它們都會寫入主控台,這可能沒有用處。