28,MySQL 8.0参考手册 5.4.2.2默认错误日志目标配置

本节讨论哪些服务器选项可配置默认错误日志目标,该目标可以是控制台或命名文件。它还指示哪些日志写入器组件将其自己的输出目标基于默认目标。

在此讨论中,“ 控制台 ”表示 stderr标准错误输出。这是您的终端或控制台窗口,除非标准错误输出已被重定向到不同的目的地。

对于Windows和Unix系统,服务器解释决定默认错误日志目标的选项有些不同。请务必使用适合您平台的信息来配置目的地:

对于Windows,请参阅Windows上的 默认错误日志目标。

对于Unix和类Unix系统,请参见Unix和类Unix系统上的 默认错误日志目标。

服务器解释默认错误日志目标选项后,它会设置log_error 系统变量以指示默认目标,这会影响多个日志记录程序组件写入错误消息的位置。请参阅 默认错误日志目标如何影响日志写入器。

Windows上的默认错误日志目标

Unix和类Unix系统上的默认错误日志目标

默认错误日志目标如何影响日志写入器

Windows上的默认错误日志目标

在Windows上,mysqld的使用 --log-error, --pid-file和 --console选项来确定默认的错误日志目的地是否是控制台或文件,并且,如果一个文件,文件名:

如果--console给出,则默认目标是控制台。(如果两者都给出,--console则优先--log-error,并且以下项目 --log-error不适用。)

如果--log-error没有给出,或者没有命名文件,则默认目标是host_name.err 数据目录--pid-file中指定的文件 ,除非指定了该 选项。在这种情况下,文件名是PID文件基本名称,后缀为.err数据目录中的后缀。

如果--log-error命名文件,则默认目标是该文件( .err如果名称没有后缀,则添加后缀)位于数据目录下,除非给出绝对路径名来指定不同的位置。

如果默认错误日志目标是控制台,则服务器将log_error 系统变量设置为stderr。否则,默认目标是一个文件,服务器设置 log_error为文件名。

Unix和类Unix系统上的默认错误日志目标

在Unix和类Unix系统上,mysqld使用该--log-error选项来确定默认错误日志目标是控制台还是文件,以及如果文件是文件名:

如果--log-error没有给出,默认目标是控制台。

如果--log-error在没有命名文件的情况下给出,则默认目标是host_name.err 在数据目录中命名的文件 。

如果--log-error命名文件,则默认目标是该文件( .err如果名称没有后缀,则添加后缀)位于数据目录下,除非给出绝对路径名来指定不同的位置。

如果--log-error在选项文件中给定的[mysqld], [server]或 [mysqld_safe]部分, mysqld_safe的查找和使用的选项,并将其传递到mysqld的。

注意
Yum或APT软件包安装通常/var/log使用诸如log-error=/var/log/mysqld.log服务器配置文件中的选项 来配置错误日志文件位置 。从选项中删除文件名会导致host_name.err 使用数据目录中的 文件。

如果默认错误日志目标是控制台,则服务器将log_error 系统变量设置为stderr。否则,默认目标是一个文件,服务器设置 log_error为文件名。

默认错误日志目标如何影响日志写入器

服务器解释错误日志目标配置选项后,它将设置 log_error系统变量以指示默认错误日志目标。日志记录器组件可以将其自己的输出目标基于该 log_error值,或独立于其确定目标 log_error

如果log_error是 stderr,默认错误日志目标是控制台,并且将其输出目标基于默认目标的日志写入器也会写入控制台:

log_sink_internal, log_sink_json, log_sink_test:这些作家写到控制台。即使对于log_sink_json可以多次启用的作家也是如此 ; 所有实例都写入控制台。

log_sink_syseventlog:该写入器写入系统日志,不管其log_error值如何 。

如果log_error不是 stderr,则默认错误日志目标是一个文件并log_error 指示文件名。日志编写器将其输出目标基于默认目标基本输出文件,并以该文件名命名。(作者可能使用完全相同的名称,或者可能使用其中的一些变体。)假设 log_error值 file_name。然后日志编写者使用这样的名字: 学什么技术好

log_sink_internal, log_sink_test:这些写入者写入 file_name。

log_sink_json:此写入程序的连续实例在log_error_services写入名为file_name 加上编号 后缀的文件的 值中命名: , 等等。 

.NN.jsonfile_name.00.jsonfile_name.01.json


log_sink_syseventlog:该写入器写入系统日志,不管其log_error值如何 。

猜你喜欢

转载自blog.csdn.net/dandan520520/article/details/79895192
今日推荐