#### 5.4.2.8 错误记录到系统日志

有可能有[**mysqld**](mysqld.html)将错误日志写入系统日志（Windows 上的事件日志，以及`系统日志`在 Unix 和类 Unix 系统上）。

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

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

```
INSTALL COMPONENT 'file://component_log_sink_syseventlog';
SET PERSIST log_error_services = 'log_filter_internal; log_sink_syseventlog';
```

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

笔记

对于 MySQL 8.0 配置，您必须明确启用对系统日志的错误日志记录。这与 MySQL 5.7 及更早版本不同，在 Windows 上默认启用将错误记录到系统日志，并且在所有平台上都不需要加载组件。

错误记录到系统日志可能需要额外的系统配置。请查阅您平台的系统日志文档。

在 Windows 上，写入应用程序日志中的事件日志的错误消息具有以下特征：

-   条目标记为`错误`,`警告`， 和`笔记`写入事件日志，但不会写入来自各个存储引擎的信息声明等消息。

-   事件日志条目的来源`MySQL`（要么`MySQL-*`标签`*`如果[`syseventlog.tag`](server-system-variables.html#sysvar_syseventlog.tag)定义为*`标签`*）。

    在 Unix 和类 Unix 系统上，记录到系统日志使用`系统日志`.以下系统变量影响`系统日志`留言：

-   [`syseventlog.facility`](server-system-variables.html#sysvar_syseventlog.facility): 的默认设施`系统日志`消息是`守护进程`.设置此变量以指定不同的设施。

-   [`syseventlog.include_pid`](server-system-variables.html#sysvar_syseventlog.include_pid)：是否在每行包含服务器进程ID`系统日志`输出。

-   [`syseventlog.tag`](server-system-variables.html#sysvar_syseventlog.tag)：这个变量定义了一个标签添加到服务器标识符（`mysqld`） 在`系统日志`消息。如果已定义，则标记将附加到带有前导连字符的标识符。

笔记

在 MySQL 8.0.13 之前，使用[`log_syslog_facility`](server-system-variables.html#sysvar_log_syslog_facility),[`log_syslog_include_pid`](server-system-variables.html#sysvar_log_syslog_include_pid)， 和[`log_syslog_tag`](server-system-variables.html#sysvar_log_syslog_tag)系统变量而不是`系统事件日志。*`xxx`*`变量。

MySQL 使用自定义标签“System”来表示有关非错误情况的重要系统消息，例如启动、关闭和对设置的一些重大更改。在不支持自定义标签的日志中，包括 Windows 上的事件日志，以及`系统日志`在 Unix 和类 Unix 系统上，系统消息被分配了用于信息优先级的标签。但是，即使 MySQL[`log_error_verbosity`](server-system-variables.html#sysvar_log_error_verbosity)设置通常会排除信息级别的消息。

当日志接收器必须以这种方式回退到“信息”而不是“系统”的标签时，并且日志事件在 MySQL 服务器之外进一步处理（例如，通过过滤或转发）`系统日志`配置），这些事件可能默认由辅助应用程序处理为“信息”优先级而不是“系统”优先级。
