I just submitted a patch to fix various elog() issues. I have two
additional proposals.
First, I think ERROR/DEBUG/NOTICE/FATAL, etc are too generic and cause
compile problems/warnings, especially with Perl. I suggest renaming all
elog levels to PG*, so it would be PGERROR and PGINFO. We could also do
E_* or E*. I am interested in other opinions.
Second, I propose adding two GUC variables that control how much elog()
info is sent to the server and client logs. I suggest
'server_message_min' with possible values DEBUG, LOG, NOTICE, ERROR,
FATAL, CRASH; and 'client_message_min' with possible values INFO,
NOTICE, ERROR, FATAL, CRASH.
We currently have 'debug_level' which controls how much debug
information is sent to the server logs. I believe this would have to
remain because it controls how _much_ DEBUG output is printed. We could
go with some kind of hybrid where "DEBUG 5" sets DEBUG as the minimum
reporting mode with level 5.
This functionality mimics the log filter functionality of syslog(3).
Comments?
-- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610)
853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill,
Pennsylvania19026