本节介绍如何使用内置过滤器log_filter_internal和JSON编写器配置错误日志记录log_sink_json,以立即生效并在随后的服务器启动中生效。有关配置错误日志记录的一般信息,请参见 第5.4.2.1节“错误日志组件配置”。
要启用JSON编写器,请首先加载编写器组件,然后修改log_error_services 值:
INSTALL COMPONENT 'file://component_log_sink_json';
SET GLOBAL log_error_services = 'log_filter_internal; log_sink_json';
要设置log_error_services为在服务器启动时生效,请使用 第5.4.2.1节“错误日志组件配置”中的说明。这些指令也适用于其他错误记录系统变量。
允许log_sink_json 在log_error_services值中多次 命名。例如,要编写一个实例的未过滤事件而编写另一个实例的过滤事件,则可以这样设置 log_error_services:
SET GLOBAL log_error_services = 'log_sink_json; log_filter_internal; log_sink_json';
JSON日志编写器基于默认错误日志目标(由log U error系统变量给定)确定其输出目标。如果log_error命名一个文件,JSON编写器将输出文件命名基于该文件名,加上编号的.NN.JSON后缀,NN从00开始。例如,如果logu error是file_name,则logu error_services值中命名的logu sink_json的连续实例将写入file_name.00.json、file_name.01.json等。
如果log_error是stderr,JSON编写器将写入控制台。如果log_json_writer在log_error_services值中被多次命名,那么它们都会写入控制台,这可能是没有用的。