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_error_services 值中多次命名 log_sink_json,则它们都将写入控制台,这可能没有用。