John Summerfield <[EMAIL PROTECTED]> writes:
> I have postmaster configured to use syslog. Despite this, these messages appear on 
>the terminal from which I start it:
> 2001-09-03 23:44:37 [26371]  DEBUG:  recycled transaction log file 0000000000000044

Ah, I see what's causing that.  elog.c does this to decide whether to
write on stderr:

        /* write to terminal */
        if (Use_syslog <= 1 || whereToSendOutput == Debug)
                write(2, msg_buf, strlen(msg_buf));

Now, whereToSendOutput is initially Debug in a postmaster or standalone
backend, and it gets changed to Remote when a normal backend is forked
from the postmaster.  The messages that John is seeing come from routine
checkpoint subprocesses, which are also forked off from the postmaster
--- and whereToSendOutput is never changed in that path.

It strikes me that perhaps we should have whereToSendOutput start out
as None in a postmaster (but it should still be Debug in a standalone
backend or bootstrap run).

Peter, I'm cc'ing you since you've messed with elog message handling
most recently.  Do you have any thoughts about proper behavior here?

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
    (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to