PG levels vs. syslog levels

Started by Steve Crawfordover 18 years ago2 messagesgeneral
Jump to latest
#1Steve Crawford
scrawford@pinpointresearch.com

What is the correlation between PostgreSQL log severity levels and
syslog levels?

Specifically, I have PG (8.1) configured to route messages to syslog and
want to configure syslog to give me a periodic report of all error/worse
events. I configured syslog (syslog-ng) to create hourly files of
error/worse from the PG log data (local2 for me) and generated some
client errors ("select 1 from nonexistent_table;")

As expected, my log shows:
...[23084]: [13-1] ERROR: relation "nonexistent_table" does not exist
...[23084]: [13-2] STATEMENT: select 1 from nonexistent_table;

But my special error log does not. After some testing I have determined
that syslog is seeing this as level "warning".

Thoughts/suggestions?

Cheers,
Steve

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Steve Crawford (#1)
Re: PG levels vs. syslog levels

Steve Crawford <scrawford@pinpointresearch.com> writes:

What is the correlation between PostgreSQL log severity levels and
syslog levels?

Hmm, doesn't seem to be documented anywhere, but a look into the source
code finds

switch (edata->elevel)
{
case DEBUG5:
case DEBUG4:
case DEBUG3:
case DEBUG2:
case DEBUG1:
syslog_level = LOG_DEBUG;
break;
case LOG:
case COMMERROR:
case INFO:
syslog_level = LOG_INFO;
break;
case NOTICE:
case WARNING:
syslog_level = LOG_NOTICE;
break;
case ERROR:
syslog_level = LOG_WARNING;
break;
case FATAL:
syslog_level = LOG_ERR;
break;
case PANIC:
default:
syslog_level = LOG_CRIT;
break;
}

regards, tom lane