用于错误日志的错误事件包含一组字段,每个字段由一个键/值对组成。事件字段可以分为核心、可选或用户定义:
为错误事件自动设置一个核心字段。但是,不能保证在事件处理期间它出现在事件中,因为与任何类型的字段一样,日志过滤器可能不设置核心字段。如果发生这种情况,该过滤器内的后续处理和在过滤器之后执行的组件(如日志接收器)将无法找到该字段。
可选字段通常不存在,但对于某些事件类型可能存在。当出现时,可选字段提供适当的和可用的附加事件信息。
用户定义字段是任何名称没有定义为核心字段或可选字段的字段。用户定义字段在日志过滤器创建之前是不存在的。
正如前面的描述所暗示的,任何给定的字段都可能在事件处理期间不存在,要么是因为它一开始就不存在,要么是被过滤器丢弃了。对于日志汇,字段缺失的影响是特定于汇的。例如,接收器可能会从日志消息中省略该字段,指出该字段缺失,或者替换为默认值。当有疑问时,测试:使用取消字段设置的过滤器,然后检查日志接收器对它做了什么。
以下部分描述核心和可选的错误事件字段。对于单独的日志过滤器组件,对于这些字段可能有额外的特定于过滤器的注意事项,或者过滤器可能添加这里没有列出的用户定义字段。详细信息请参见具体过滤器的文档。10bet官方网站
这些错误事件字段是核心字段:
时间
具有微秒精度的事件时间戳。
味精
事件消息字符串。
一家
事件优先级,表示系统、错误、警告或注释/信息事件。该字段对应于严重性
syslog
.下表显示了可能的优先级级别。事件类型 数字优先 系统事件 0 错误的事件 1 警告事件 2 注意/信息事件 3. 的
一家
值是数字。与之相关的是,错误事件还可以包含一个可选的标签
字段,以字符串表示优先级。例如,带有一家
值2可能有a标签
的价值“警告”
.过滤器组件可以根据优先级包含或删除错误事件,但系统事件是强制的,不能删除。
通常,消息优先级的确定如下:
这个情况或事件是可操作的吗?
是:情境或事件是否可以忽略?
是:优先级为警告。
No:优先级为错误。
否:情况或事件是强制性的吗?
Yes:优先级为system。
No:优先级为note/information。
err_code
事件错误码,作为数字(例如,
1022
).err_symbol
事件错误符号,作为字符串(例如,
“ER_DUP_KEY”
).SQL_state
事件SQLSTATE值,作为字符串(例如,
“23000”
).子系统
事件发生的子系统。可能的值是
InnoDB
(InnoDB
存储引擎),Repl
(复制子系统),服务器
(否则)。
可选的错误事件字段分为以下几类:
关于错误的附加信息,如操作系统发出的错误信号或错误标签:
OS_errno
操作系统错误号。
OS_errmsg
操作系统错误信息。
标签
对应的标签
一家
值,作为字符串。
事件发生的客户端的标识:
用户
客户端用户。
宿主
客户端主机。
线程
线程的IDmysqld负责产生错误事件。该ID表示服务器的哪个部分产生了事件,与一般查询日志和慢查询日志消息一致,其中包括连接线程ID。
query_id
查询ID。
调试信息:
source_file
事件发生的源文件,没有任何前导路径。
source_line
源文件中发生事件的行。
函数
事件发生的函数。
组件
事件发生的组件或插件。