一log_destination
(string
)
日志记录类型,默认是stderr,只记录错误输出,推荐csvlog,总共包含:stderr, csvlog, syslog, and eventlog.
PostgreSQL支持多种记录服务器消息的方法,包括stderr、csvlog、jsonlog和syslog。在Windows上,也支持eventlog。将此参数设置为以逗号分隔的所需日志目的地列表。默认是只记录到stderr。该参数只能在postgresql.conf文件或服务器命令行中设置。
如果log_destination中包含csvlog,则日志条目将以“comma separated value” (CSV) 格式输出,方便程序加载日志。详细信息请参见到官方文档(见)(引用文档csvlog
)。要生成CSV文件,必须启用logging_collector
如果在log_destination中包含jsonlog,则日志条目以JSON格式输出,方便将日志加载到程序中。详细信息请参见官方文档(见)(引用文档jsonlog
)。要生成json格式的日志输出,必须启用logging_collector。
如果要包含stderr、csvlog或jsonlog时,将创建文件current_logfiles来记录日志收集器和关联的日志目的地当前使用的日志文件的位置。这提供了一种方便的方法来查找实例当前正在使用的日志。以下是该文件内容的示例:
stderr log/postgresql.log csvlog log/postgresql.csv jsonlog log/postgresql.json |
当一个新的日志文件作为滚动的效果被创建时,以及当log_destination被重新加载时,Current_logfiles被重新创建。当log_destination中不包含任何stderr、csvlog或jsonlog时,而且当日志收集器被禁用时,它将被删除。
注意事项:
在大多数Unix系统上,为了使用log_destination的syslog选项,您需要更改系统的syslog守护进程的配置。PostgreSQL可以记录到LOCAL0到LOCAL7的syslog设施(参见syslog_facility),但是大多数平台上的默认syslog配置将丢弃所有这样的消息。您需要添加如下内容:
local0.* /var/log/postgresql
到syslog守护进程的配置文件,使其工作。
在Windows上,当您为log_destination使用eventlog选项时,您应该向操作符注册一个事件源及其库
引用原文档链接:
https://www.postgresql.org/docs/16/runtime-config-logging.html
csvlog
:
https://www.postgresql.org/docs/16/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-CSVLOG
jsonlog
:
https://www.postgresql.org/docs/16/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-JSONLOG
syslog_facility
:
https://www.postgresql.org/docs/16/runtime-config-logging.html#GUC-SYSLOG-FACILITY
Windows Event Viewer can display event log messages cleanly:
https://www.postgresql.org/docs/16/event-log-registration.html
标签:postgresql,log,csvlog,destination,syslog,PostgreSQL,日志 From: https://www.cnblogs.com/wangguanghui-83767582/p/17964150