Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


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

7.5.3 错误日志组件

本节描述了错误日志组件的特征。关于配置错误日志的总体信息,请参见第7.4.2节,“错误日志”

一个日志组件可以是过滤器或汇流器:

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

  • 汇流器是日志事件的目的地(写入器)。通常,汇流器将日志事件处理成特定的格式,然后将这些消息写入其关联的输出,如文件或系统日志。汇流器也可能将日志事件写入性能架构,见第29.12.22.2节,“错误_log 表”。事件将未经修改地传递给列表中启用的下一个组件(即使汇流器格式化事件以产生输出消息,但它不会对事件内部进行修改)。

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

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

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

Filter 错误日志组件

错误日志过滤组件实现错误日志事件的过滤。如果没有启用过滤组件,什么都不会被过滤。

任何启用的过滤组件只对log_error_services值中的后续组件生效。特别是,对于在log_error_services之前的任何日志sink组件,什么都不会被过滤。

如果log_filter_internal被禁用,log_error_verbositylog_error_suppression_list无效。

Sink 错误日志组件

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

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

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

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

  • 多次使用:否。

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

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

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

  • URN:file://component_log_sink_json

  • 允许多次使用:是。

  • 输出目的地:这个 sink 根据默认错误日志目的地确定其输出目的地,该目的地由log_error系统变量给出:

    • 如果log_error命名了文件,那么 sink 根据该文件名,plus 一个编号的.NN.json后缀,NN从 00 开始。例如,如果log_errorfile_namelog_sink_jsonlog_error_services值中的多个实例写入到file_name.00.jsonfile_name.01.json等等。

    • 如果log_error 设置为 stderr,那么输出到控制台。如果log_sink_jsonlog_error_services 值中被多次命名,那么所有都写入控制台,这可能不是有用的结果。

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

  • 目的:实现系统日志中的错误记录。这是在 Windows 上是事件日志,在 Unix 和 Unix 类似系统上是 syslog。请参阅第 7.4.2.8 节,“系统日志中的错误记录”

  • URN:file://component_log_sink_syseventlog

  • 允许多次使用:否。

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

  • 性能_schema支持:不写入error_log 表,不提供读取由前一个服务器实例创建的错误日志文件的解析器。

  • 目的:用于内部测试用途,而不是生产环境用途。

  • URN:file://component_log_sink_test

sink 属性,如是否允许多次使用和输出目的地,未指定于 log_sink_test,因为它是为内部使用的,因此其行为随时可能改变。