本节描述各个错误日志组件的特征。有关配置错误日志记录的一般信息,请参见第5.4.2节“错误日志”。
日志组件可以是过滤器或接收器:
- 筛选器处理日志事件,以添加,删除或修改事件字段,或完全删除事件。结果事件将传递到
log_error_services系统变量值中命名的下一个日志组件 。 - 接收器是日志事件的目标(写入器)。通常,接收器将日志事件处理为具有特定格式的日志消息,并将这些消息写入其关联的输出,例如文件或系统日志。
服务器log_error_services按照名称的顺序执行过滤器和接收器 。因此,最右边的组件应该是一个接收器。如果最右边的组件是过滤器,则它对事件的任何更改都不会影响输出。
以下各节介绍了按组件类型分组的单个日志组件:
组件描述包括以下类型的信息:
- 组件名称和预期用途。
- 组件是内置的还是必须加载的。对于可加载的组件,该说明指定了用于使用
INSTALL COMPONENTandUNINSTALL COMPONENT语句加载和卸载组件的URN 。 - 该组件是否可以在
log_error_services值中多次列出 。 - 对于接收器组件,该组件将输出写入的目标。
错误日志过滤器组件
错误日志过滤器组件实现错误日志事件的过滤:
- 如果未启用任何筛选器组件,则不会进行筛选。
- 任何启用的筛选器组件都只会影响
log_error_services值中稍后列出的组件的日志事件 。特别是,对于任何log_error_services过滤器组件之前列出的任何日志接收 器组件,都不会发生日志事件过滤。
log_filter_internal组件
- 目的:基于日志事件优先级和错误代码,结合
log_error_verbosity和log_error_suppression_list系统变量,实现过滤 。请参见 第5.4.2.4节“基于优先级的错误日志过滤(log_filter_internal)”。 - URN:此组件是内置的,
INSTALL COMPONENT在使用前无需加载 。 - 允许多次使用:否。
如果log_filter_internal被禁用, log_error_verbosity并且 log_error_suppression_list没有任何效果。
log_filter_dragnet组件
- 用途:根据
dragnet.log_error_filter_rules系统变量设置定义的规则实施过滤 。请参见 第5.4.2.5节“基于规则的错误日志过滤(log_filter_dragnet)”。 - 瓮:
file://component_log_filter_dragnet - 允许多次使用:否。
错误日志接收器组件
错误日志接收器组件是实现错误日志输出的编写器。如果未启用任何接收器组件,则不会发生日志输出。
一些接收器组件描述引用默认错误日志目标。这是控制台或文件,由log_error 系统变量的错误指示,如 第5.4.2.2节“默认错误日志目标配置”中所述确定。
log_sink_internal组件
- 目的:实现传统的错误日志消息输出格式。
- URN:此组件是内置的,
INSTALL COMPONENT在使用前无需加载 。 - 允许多次使用:否。
- 输出目标:写入默认错误日志目标。
log_sink_json组件
- 目的:实现JSON格式的错误日志记录。请参见 第5.4.2.6节“ JSON格式的错误记录”。
- URN:
file://component_log_sink_json - 允许多次使用:是。
- 输出目的地:JSON日志编写器根据默认错误日志目的地(由
log_error系统变量指定)确定其输出目的地 :- 如果
log_error命名文件,则JSON 编写器将基于该文件名加上一个带编号的 后缀(从00开始)来命名输出文件 。例如,如果 is 为,则值中连续的named 实例将写入 , 等等。.*NN*.jsonNNlog_errorfile_namelog_sink_jsonlog_error_services*file_name*.00.json``*file_name*.01.json - 如果
log_error为stderr,则JSON编写器将写入控制台。如果log_json_writer在log_error_services值中多次命名 它们,它们都将写入控制台,这可能没有用。
- 如果
log_sink_syseventlog组件
- 目的:将错误记录到系统日志。这是Windows,
syslogUnix和类似Unix的系统上的事件日志。请参见 第5.4.2.7节“错误记录到系统日志”。 - URN:
file://component_log_sink_syseventlog - 允许多次使用:否。
- 输出目标:写入系统日志。不使用默认错误日志目标。
log_sink_test组件
- 目的:旨在在内部编写测试用例。不适用于生产用途。
- URN:
file://component_log_sink_test - 允许多次使用:是。
- 输出目标:写入默认错误日志目标。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




