Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  ...  /  Error Log Components

7.5.3 错误日志组件

本节描述了单个错误日志组件的特征。有关配置错误日志的常规信息,请参阅 第 7.4.2 节,“错误日志”

日志组件可以是过滤器或接收器:

  • 过滤器处理日志事件,以添加、删除或修改事件字段,或者删除事件。结果事件将传递给下一个启用的日志组件。

  • 接收器是日志事件的目标(写入器)。通常,接收器将日志事件处理成特定格式的日志消息,并将这些消息写入其关联的输出,例如文件或系统日志。接收器也可以写入性能模式 error_log 表;请参阅 第 29.12.22.2 节,“error_log 表”。事件将未经修改地传递给下一个启用的日志组件(即,虽然接收器将事件格式化以生成输出消息,但它不会修改事件以便内部传递给下一个组件)。

系统变量 log_error_services 列出了启用的日志组件。未在列表中的组件将被禁用。log_error_services 也隐式加载错误日志组件,如果它们尚未加载。有关更多信息,请参阅 第 7.4.2.1 节,“错误日志配置”

以下部分描述了单个日志组件,按组件类型分组:

组件描述包括以下类型的信息:

过滤器错误日志组件

错误日志过滤器组件实现错误日志事件的过滤。如果没有启用过滤器组件,则不进行过滤。

任何启用的过滤器组件都只影响 log_error_services 值中列出的后续组件中的日志事件。特别是,对于 log_error_services 中列出的任何日志接收器组件,如果在过滤器组件之前列出,则不会进行日志事件过滤。

log_filter_internal 组件

如果 log_filter_internal 被禁用,log_error_verbositylog_error_suppression_list 无效。

log_filter_dragnet 组件

错误日志 Sink 组件

错误日志 Sink 组件是实现错误日志输出的写入器。如果没有启用 Sink 组件,则不会发生日志输出。

一些 Sink 组件描述引用默认错误日志目标。这是控制台或文件,通过 log_error 系统变量的值确定,如 第 7.4.2.2 节,“默认错误日志目标配置” 所述。

log_sink_internal 组件
  • 目的:实现传统的错误日志消息输出格式。

  • URN:该组件是内置的,不需要加载。

  • 允许多次使用:否。

  • 输出目标:写入默认错误日志目标。

  • 性能架构支持:写入 error_log 表。提供了读取以前服务器实例创建的错误日志文件的解析器。

log_sink_json 组件
  • 目的:实现 JSON 格式的错误日志记录。见 第 7.4.2.7 节,“JSON 格式的错误日志记录”

  • URN:file://component_log_sink_json

  • 允许多次使用:是。

  • 输出目标:该 Sink 根据默认错误日志目标确定输出目标,该目标由 log_error 系统变量给出:

    • 如果 log_error 命名了一个文件,该 Sink 基于该文件名,追加一个编号的 .NN.json 后缀,NN 从 00 开始。例如,如果 log_errorfile_name,则连续实例的 log_sink_jsonlog_error_services 值中命名,写入 file_name.00.jsonfile_name.01.json 等。

    • 如果 log_errorstderr,该 Sink 写入控制台。如果 log_sink_jsonlog_error_services 值中命名多次,它们都写入控制台,这可能不是有用的。

  • 性能架构支持:写入 error_log 表。提供了读取以前服务器实例创建的错误日志文件的解析器。

log_sink_syseventlog 组件
  • 目的:实现错误日志记录到系统日志中。这是在 Windows 上的事件日志,在 Unix 和 Unix-like 系统上是 syslog。见 第 7.4.2.8 节,“错误日志记录到系统日志”

  • URN:file://component_log_sink_syseventlog

  • 允许多次使用:否。

  • 输出目标:写入系统日志。不使用默认错误日志目标。

  • 性能模式支持:不写入error_log表。不提供解析器来读取以前服务器实例创建的错误日志文件。

日志接收器测试组件
  • 目的:旨在内部使用,以编写测试用例,不适用于生产使用。

  • URN:file://component_log_sink_test

由于log_sink_test是内部使用的,因此其行为可能随时更改,不指定sink属性,例如是否允许多个使用和输出目标。