暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

5.4.2.7错误记录到系统日志

原创 由迪 2020-08-04
1274

可能使mysqld将错误日志写入系统日志(Windows以及syslogUnix和类似Unix的系统上的事件日志 )。

本节介绍如何使用内置的过滤器log_filter_internal和系统日志编写器配置错误日志记录log_sink_syseventlog,以立即生效并随后启动服务器。有关配置错误日志记录的一般信息,请参见 第5.4.2.1节“错误日志组件配置”

要启用系统日志编写器,请首先加载编写器组件,然后修改 log_error_services值:

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

要设置log_error_services为在服务器启动时生效,请使用 第5.4.2.1节“错误日志组件配置”中的说明。这些指令也适用于其他错误记录系统变量。

注意

对于MySQL 8.0配置,必须显式启用将错误日志记录到系统日志中。这与MySQL 5.7和更低版本不同,MySQL 5.7和更低版本默认情况下在Windows上启用了将错误日志记录到系统日志的功能,并且在所有平台上都不需要加载组件。

错误记录到系统日志中可能需要其他系统配置。请查阅所用平台的系统日志文档。

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

  • 标记为ErrorWarning和的条目Note将写入事件日志,但不会写入消息(例如来自各个存储引擎的信息语句)。
  • 事件日志条目的来源MySQL (或 如果定义为)。 MySQL-*tag*syseventlog.tagtag

在Unix和类似Unix的系统上,使用登录到系统日志 syslog。以下系统变量会影响 syslog消息:

  • syseventlog.facilitysyslog消息的默认功能是 daemon。设置此变量以指定其他功能。
  • syseventlog.include_pid:是否在每行syslog输出中包括服务器进程ID 。
  • syseventlog.tag:此变量定义了一个标签,该标签将添加到 消息中的服务器标识符(mysqld)中syslog。如果已定义,则标签将以前导连字号附加到标识符。

注意

在此之前的MySQL 8.0.13,使用 log_syslog_facilitylog_syslog_include_pidlog_syslog_tag系统变量,而不是 变量。 syseventlog.*xxx*

MySQL将自定义标签“ System ”用于有关非错误情况的重要系统消息,例如启动,关闭以及对设置的一些重大更改。在不支持自定义标签的日志中,包括Windows syslog上的“事件日志”,以及在Unix和类似Unix的系统上,会为系统消息分配用于信息优先级的标签。但是,即使MySQL log_error_verbosity设置通常在信息级别排除消息,这些消息也会打印到日志中 。

当日志编写者必须以这种方式退回到标签 “ 信息 ”而不是“ 系统 ”,并且日志事件在MySQL服务器之外进一步处理(例如,通过syslog配置过滤或转发 )时,这些事件可能默认情况下,辅助应用程序将其作为 “ 信息 ”优先级而不是 “ 系统 ”优先级进行处理。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论