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 值中多次命名,它們都會寫入主控台,這可能沒有用處。