log_destination (string)
GBase 8c支持多种方法来记录服务器消息,包括stderr、csvlog和syslog。设置该参数为一个由想要的日志目的地的列表,之间用逗号分隔。默认值是只记录到stderr。该参数只能在postgresql.conf文件中或在服务器命令行上设置。
如果csvlog被包括在log_destination中,日志项会以“逗号分隔值” (CSV)格式被输出,这样可以很方便地把日志载入到程序中。要产生 CSV 格式的日志输出,必须启用logging_collector。
当包括有stderr或csvlog时,会创建文件current_logfiles来记录当前正在被日志收集器使用的日志文件的位置以及相关的日志目的地。这提供了一种查找实例当前使用的日志的便利手段。这里是该文件内容的一个例子:
stderr log/postgresql.log
csvlog log/postgresql.csv
当由于轮转效应创建一个新的日志文件时以及log_destination被重载时,current_logfiles文件会被重建。当log_destination中不包括stderr和csvlog时以及当日志收集器被禁用时,这个文件会被删除。
注意:在大多数 Unix 系统上,需要修改系统的syslog守护进程的配置来使用log_destination的syslog选项。GBase 8c可以在syslog设备LOCAL0到LOCAL7中记录(见syslog_facility),但是大部分平台上的默认syslog配置会丢弃所有这种消息。你将需要增加这样的内容:
local0.* /var/log/postgresql
到syslog守护进程的配置文件来让它工作。