#### 5.4.2.7 JSON 格式的错误记录

本节介绍如何使用内置过滤器配置错误日志记录，`log_filter_internal`，以及 JSON 接收器，`log_sink_json`, 立即生效并用于后续服务器启动。有关配置错误日志记录的一般信息，请参阅[第 5.4.2.1 节，“错误日志配置”](error-log-configuration.html).

要启用 JSON 接收器，首先加载接收器组件，然后修改[`日志错误服务`](server-system-variables.html#sysvar_log_error_services)价值：

```
INSTALL COMPONENT 'file://component_log_sink_json';
SET PERSIST log_error_services = 'log_filter_internal; log_sink_json';
```

设置[`日志错误服务`](server-system-variables.html#sysvar_log_error_services)要在服务器启动时生效，请使用以下说明[第 5.4.2.1 节，“错误日志配置”](error-log-configuration.html).这些说明也适用于其他错误记录系统变量。

允许命名`log_sink_json`多次在[`日志错误服务`](server-system-variables.html#sysvar_log_error_services)价值。例如，要使用一个实例编写未过滤的事件并使用另一个实例编写已过滤的事件，您可以设置[`日志错误服务`](server-system-variables.html#sysvar_log_error_services)像这样：

```
SET PERSIST log_error_services = 'log_sink_json; log_filter_internal; log_sink_json';
```

JSON 接收器根据默认错误日志目标确定其输出目标，该目标由[`日志错误`](server-system-variables.html#sysvar_log_error)系统变量。如果[`日志错误`](server-system-variables.html#sysvar_log_error)命名一个文件，JSON 接收器基于该文件名命名输出文件，加上一个编号`.*`神经网络`*.json`后缀，带*`NN`*从6点开始。例如，如果[`日志错误`](server-system-variables.html#sysvar_log_error)是*`文件名`*，连续的`log_sink_json`在[`日志错误服务`](server-system-variables.html#sysvar_log_error_services)值写入`*`文件名`*.00.json`,`*`文件名`*.01.json`等等

如果[`日志错误`](server-system-variables.html#sysvar_log_error)是`标准错误`，JSON接收器写入控制台。如果`log_sink_json`在列表中多次命名[`日志错误服务`](server-system-variables.html#sysvar_log_error_services)值时，它们都会写入控制台，这可能没有什么用处。
