文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  错误日志组件

7.5.3 错误日志组件

本节介绍各个错误日志组件的特征。有关配置错误日志记录的常规信息,请参阅 第 7.4.2 节“错误日志”

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

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

  • 接收器是日志事件的目标(写入器)。通常,接收器会将日志事件处理为具有特定格式的日志消息,并将这些消息写入其关联的输出,例如文件或系统日志。接收器还可以写入性能模式 error_log 表;请参阅 第 29.12.22.2 节“error_log 表”。事件将不加修改地传递到启用组件列表中的下一个组件(也就是说,尽管接收器会格式化事件以生成输出消息,但它不会修改事件,因为它们在内部传递到下一个组件)。

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

以下各节介绍各个日志组件,按组件类型分组:

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

  • 组件名称和预期用途。

  • 组件是内置的还是必须加载。对于可加载组件,描述指定了使用 INSTALL COMPONENTUNINSTALL COMPONENT 语句显式加载或卸载组件时要使用的 URN。隐式加载错误日志组件只需要组件名称。有关更多信息,请参阅 第 7.4.2.1 节“错误日志配置”

  • 组件是否可以在 log_error_services 值中列出多次。

  • 对于接收器组件,组件写入输出的目标。

  • 对于接收器组件,它是否支持性能模式 error_log 表的接口。

过滤错误日志组件

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

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

log_filter_internal 组件

如果 log_filter_internal 被禁用,log_error_verbositylog_error_suppression_list 将无效。

log_filter_dragnet 组件

接收器错误日志组件

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

一些接收器组件描述引用了默认的错误日志目标。这是控制台或文件,由 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

  • 允许多次使用:是。

  • 输出目标:此接收器根据默认的错误日志目标确定其输出目标,该目标由 log_error 系统变量给出。

    • 如果 log_error 指定了一个文件,则接收器将基于该文件名加上一个编号为 .NN.json 的后缀来命名输出文件,其中 NN 从 00 开始。例如,如果 log_errorfile_name,则 log_error_services 值中命名的 log_sink_json 的连续实例将写入 file_name.00.jsonfile_name.01.json,依此类推。

    • 如果 log_errorstderr,则接收器将写入控制台。如果 log_sink_jsonlog_error_services 值中被多次命名,则它们都将写入控制台,这可能没有用。

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

log_sink_syseventlog 组件
  • 用途:实现将错误记录到系统日志。在 Windows 上是事件日志,在 Unix 和类 Unix 系统上是 syslog。请参阅 第 7.4.2.8 节“将错误记录到系统日志”

  • URN:file://component_log_sink_syseventlog

  • 允许多次使用:否。

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

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

log_sink_test 组件
  • 用途:旨在供内部使用以编写测试用例,不用于生产环境。

  • URN:file://component_log_sink_test

未为 log_sink_test 指定接收器属性(例如是否允许多次使用和输出目标),因为如前所述,它仅供内部使用。因此,其行为随时可能发生变化。