错误日志以JSON格式记录
跳到导航
跳到搜索
本节描述了如何使用内置的过滤器log_filter_internal和JSON接收器log_sink_json来配置错误日志记录,以立即生效并在后续服务器启动时保留配置。
要启用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值中多次命名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接收器将基于该文件名进行输出文件命名,后面加上以.00.json为起始的编号后缀。例如,如果log_error是file_name,则在log_error_services值中命名的连续实例将写入file_name.00.json、file_name.01.json等文件。
如果log_error是stderr,则JSON接收器将写入控制台。如果在log_error_services值中多次命名log_sink_json,则它们都将写入控制台,这可能没有什么用处。