MySQL 8.3 Release Notes
本节描述如何使用内置过滤器 log_filter_internal 和 JSON sink log_sink_json 配置错误日志记录,以便立即生效并在后续服务器启动时生效。有关错误日志记录配置的常规信息,请参阅 第 7.4.2.1 节,“错误日志配置”。
要启用 JSON sink,首先加载 sink 组件,然后修改 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 sink 根据默认错误日志目标确定其输出目标,该目标由 log_error 系统变量给出。如果 log_error 命名了一个文件,JSON sink 将基于该文件名加上编号的 . 后缀,NN.jsonNN 从 00 开始。例如,如果 log_error 是 file_name,则连续实例的 log_sink_json 命名在 log_error_services 值中将写入 、file_name.00.json 等。file_name.01.json
如果 log_error 是 stderr,JSON sink 将写入控制台。如果 log_sink_json 在 log_error_services 值中命名多次,它们都将写入控制台,这可能不是有用的。