记录日志的位置
log_destination
参数说明:GaussDB支持多种方法记录服务器日志,log_destination的取值为一个逗号分隔开的列表(如log_destination="stderr,csvlog")。
参数类型:字符串
参数单位:无
取值范围:有效值为"stderr"、"csvlog"、"syslog"、"eventlog"。
- "stderr",表示日志打印到屏幕。
- "csvlog",表示日志的输出格式为“逗号分隔值”即CSV (Comma Separated Value)格式。使用csvlog记录日志的前提是将logging_collector设置为on,请参见使用CSV格式写日志。
- "syslog",表示通过操作系统的syslog记录日志。GaussDB使用syslog的LOCAL0 ~ LOCAL7记录日志,请参见syslog_facility。使用syslog记录日志需在操作系统后台服务配置文件中添加代码:
1
local0.* /var/log/gaussdb
- "eventlog",表示通过事件日志组件记录日志。仅在windows系统下支持。
默认值:"stderr"
设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
设置建议:推荐使用默认值。
设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
logging_collector
参数说明:控制开启后端日志收集线程logger进行日志收集。该线程捕获到stderr或csvlog日志消息,将其写入日志文件。
这种记录日志的方法比将日志记录到syslog更加有效,因为某些类型的消息在syslog的输出中无法显示。例如动态链接库加载失败消息和脚本产生的错误消息。
将服务器日志发送到stderr时可以不使用logging_collector参数,此时日志消息会被发送到服务器的stderr指向的空间。这种方法的缺点是日志回滚困难,只适用于较小的日志容量。
参数类型:布尔型
参数单位:无
取值范围:
- on:表示开启日志收集功能。
- off:表示关闭日志收集功能。
默认值:on
设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。
设置建议:推荐使用默认值。
设置不当的风险与影响:关闭时无法使用csvlog记录日志。
log_directory
参数说明:logging_collector设置为on时,log_directory决定存放服务器日志文件的目录。它可以是绝对路径,或者是相对路径(相对于数据目录的路径)。log_directory支持动态修改,可以通过gs_guc reload实现,仅sysadmin用户可以访问。
- 当配置文件中log_directory的值为非法路径时,会导致集群无法重新启动。
- 通过gs_guc reload动态修改log_directory时,当指定路径为合法路径时,日志输出到新的路径下。当指定路径为非法路径时,日志输出到上一次合法的日志输出路径下而不影响数据库正常运行。此时即使指定的log_directory的值非法,也会写入到配置文件中。
- 在沙箱环境,路径中不可以包含/var/chroot,例如log的绝对路径是/var/chroot/var/lib/log/Ruby/gs_log/cn_log,则只需要设置为/var/lib/log/Ruby/gs_log/cn_log。
- 合法路径:用户对此路径有读写权限。
- 非法路径:用户对此路径无读写权限。
参数类型:字符串
参数单位:无
取值范围:字符串
默认值:安装时指定。
设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
设置建议:推荐使用默认值。
设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
log_filename
参数说明:logging_collector设置为on时,log_filename决定服务器运行日志文件的名称。通常日志文件名是按照strftime模式生成,因此可以用系统时间定义日志文件名,用%转义字符实现,仅sysadmin用户可以访问。
- 建议使用%转义字符定义日志文件名称,否则难以对日志文件进行有效的管理。
- 当log_destination设为csvlog时,系统会生成附加了时间戳的日志文件名,文件格式为csv格式,例如“server_log.1093827753.csv”。
参数类型:字符串
参数单位:无
取值范围:字符串
默认值:gaussdb-%Y-%m-%d_%H%M%S.log
设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
设置建议:推荐使用默认值。
设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
log_file_mode
参数说明:logging_collector设置为on时,log_file_mode设置服务器日志文件的权限。通常log_file_mode的取值是能够被chmod和umask系统调用接受的数字。
- 使用此选项前请设置log_directory,将日志存储到数据目录之外的地方。
- 因日志文件可能含有敏感数据,故不能将其设为对外可读。
参数类型:整型
参数单位:无
取值范围:0000~0777 (8进制计数,转化为十进制 0 ~ 511)。
- 0600表示只允许服务器管理员读写日志文件。
- 0640表示允许管理员所在用户组成员只能读日志文件。
默认值:0600
设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
设置建议:推荐使用默认值。
设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
log_truncate_on_rotation
参数说明:logging_collector设置为on时,log_truncate_on_rotation设置日志消息的写入方式。
参数类型:布尔型
参数单位:无
取值范围:
- on:表示GaussDB以覆盖写入的方式写服务器日志消息。
- off:表示GaussDB将日志消息附加到同名的现有日志文件上。
默认值:off
设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
设置建议:推荐使用默认值。
设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
log_rotation_age
参数说明:logging_collector设置为on时,log_rotation_age表示创建一个新日志文件的时间间隔。当现在的时间减去上次创建服务器日志的时间超过了log_rotation_age时,将生成一个新的日志文件。
假设日志需要保留7天,每天生成一个日志文件,日志文件名设置为server_log.Mon、server_log.Tue等。第二周的周二生成的日志消息会覆盖写入到server_log.Tue。
设置方法:将log_filename设置为server_log.%a ,log_truncate_on_rotation设置为on,log_rotation_age设置为1440。
参数类型:整型
参数单位:min
取值范围:0 ~ 35791394。其中0表示关闭基于时间的新日志文件的创建。
默认值:1440(即1d)
设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
设置建议:推荐使用默认值。
设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
log_rotation_size
参数说明:logging_collector设置为on时,log_rotation_size决定服务器日志文件的最大容量。当日志消息的总量超过日志文件最大容量时,服务器将生成一个新的日志文件。
参数类型:整型
参数单位:kB
取值范围:0 ~ 2097151。0表示关闭基于容量的新日志文件的创建。
默认值:20480(20MB)
设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
设置建议:推荐使用默认值。
设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
syslog_facility
参数说明:log_destination设置为syslog时,syslog_facility配置使用syslog记录日志的“设备”。
参数类型:枚举类型
参数单位:无
取值范围:local0、local1、local2、local3、local4、local5、local6、local7。
默认值:local0
设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
设置建议:推荐使用默认值。
设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
syslog_ident
参数说明:log_destination设置为syslog时,syslog_ident表示在syslog日志中GaussDB日志消息的标识。
参数类型:字符串
参数单位:无
取值范围:字符串
默认值:"postgres"
设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
设置建议:推荐使用默认值。
设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
event_source
参数说明:该参数仅在windows环境下生效。log_destination设置为eventlog时,event_source设置在日志中GaussDB日志消息的标识。
参数类型:字符串
参数单位:无
取值范围:字符串
默认值:"PostgreSQL"
设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。
设置建议:推荐使用默认值。
设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。