PostgreSQL:ereport()的输出到哪里去了? 我正在开发PostgreSQL的C扩展库。我使用了很多ereport()调用来帮助将来进行调试
我的代码中使用的一个典型示例如下:PostgreSQL:ereport()的输出到哪里去了? 我正在开发PostgreSQL的C扩展库。我使用了很多ereport()调用来帮助将来进行调试,postgresql,Postgresql,我的代码中使用的一个典型示例如下: ereport(NOTICE, (errmsg("[%s]: Returned nonzero result (%d).", (const char*)__FUNCTION__, ret)) ); 但是,当我在/var/log/postgresql/postgresql-8.4-main.log中查看时,我的消息似乎没有出现在那里——我认为只有来自db服务器守护进程的消息 那么,我的日志消息存储在哪里 顺便说一句,我在UbuntuLinux(10.0.4)上
ereport(NOTICE, (errmsg("[%s]: Returned nonzero result (%d).", (const char*)__FUNCTION__, ret)) );
但是,当我在/var/log/postgresql/postgresql-8.4-main.log中查看时,我的消息似乎没有出现在那里——我认为只有来自db服务器守护进程的消息
那么,我的日志消息存储在哪里
顺便说一句,我在UbuntuLinux(10.0.4)上运行PG 8.4。默认情况下,新安装时不启用非关键消息的日志记录。您可以通过设置
log\u destination
和logging\u collector
来配置它
PostgreSQL有多个日志级别,默认情况下,注意
级别不会保存到日志文件中(即使启用了它们)。这是通过log\u min\u messages
设置配置的。但是,默认情况下,通知
会发送给客户端。这是通过client\u min\u messages
设置配置的
因此,如果您希望将这些信息存储在日志文件中,则必须将代码中的NOTICE
更改为WARNING
,或者设置log\u min\u messages=NOTICE
看到这个了吗
也许这个