Re: elog() patch - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: elog() patch
Date
Msg-id 200203010500.g2150Oj05918@candle.pha.pa.us
Whole thread Raw
In response to elog() patch  (Bruce Momjian <pgman@candle.pha.pa.us>)
Responses Re: elog() patch  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
OK, I have talked with Peter via phone and he is OK with the patch
assuming the changes I have outlined below.  This is not a total
overhaul of elog() but rather a major cleanup.  These changes are in the
direction of where we want to head.

Peter is also concerned if allowing clients to see elog() messages is a
security problem.  Clients can't see postmaster messages because there
is no client at the time, but backend messages will be visible.  I can't
think of any server log messages that shouldn't be seen by the client. 
Does anyone else?

> Here is a patch to clean up elog():
> 
>     ftp://candle.pha.pa.us/pub/postgresql/mypatches/elog
> 
> Here is the detail:
> 
> 
> REALLYFATAL => PANIC
> STOP => PANIC
> New INFO level the prints to client by default
> New LOG level the prints to server log by default
> Cause VACUUM information to print only to the client in verbose mode
> VACUUM doesn't output to server logs
> NOTICE => INFO where purely information messages are sent
> DEBUG => LOG for purely server status messages
> DEBUG removed, kept as backward compatible (will be added near 7.3)
> DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1 added
> DebugLvl removed in favor of new DEBUG[1-5] symbols
> New server_min_messages GUC parameter with values DEBUG[5-1], INFO, LOG, ...
> New client_min_messages GUC parameter with values DEBUG[5-1], LOG, INFO, ...
> Server startup now logged with LOG instead of DEBUG
> Postmaster -d flag effects only postmaster message, not backend messages

Changed.  Postmaster -d propogates to backends, like current.  New -d 0
postgres parameter allows this propogation to be turned off.

> Remove debug_level GUC parameter
> elog() numbers now start at 10
> Add test to print error message if older elog() values are passed to elog()
> Bootstrap mode now has a -d that requires an argument, like postmaster

> This clears the -d debug level on backend start.  Is that done correctly?

I cleared this up with Peter.

--  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
 


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Final spec on per-database/per-user settings
Next
From: Tom Lane
Date:
Subject: Re: elog() patch