Re: Unfiltered server logs routing via a new elog hook or existing emit_log_hook bypassing log_min_message check

From: Julien Rouhaud <rjuju123(at)gmail(dot)com>
To: Bharath Rupireddy <bharath(dot)rupireddyforpostgres(at)gmail(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Unfiltered server logs routing via a new elog hook or existing emit_log_hook bypassing log_min_message check
Date: 2022-05-02 13:14:19
Message-ID: 20220502131419.xfhjnnmce3velh7u@jrouhaud
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, May 02, 2022 at 06:40:05PM +0530, Bharath Rupireddy wrote:
> On Mon, May 2, 2022 at 6:32 PM Julien Rouhaud <rjuju123(at)gmail(dot)com> wrote:
> >
> > Unless I'm missing something you can already do all of that with the current
> > hook, since as mentioned in the comment above the hook can disable the server's
> > logging:
> >
> > * Call hook before sending message to log. The hook function is allowed
> > * to turn off edata->output_to_server, so we must recheck that afterward.
> >
> > So you can configure your server with a very verbose log_min_message, and have
> > the same setting in your own extension to disable output_to_server after its
> > own processing is done.
>
> No. The emit_log_hook isn't called for all the log messages, but only
> when output_to_server = true which means, say my log_min_messages is
> 'WARNING', the hook isn't called for the messages say elevel above it
> (NOTICE, INFO, DEBUGX).

I know. What I said you could do is configure log_min_message to DEBUGX, so
your extension sees everything you want it to see. And *in your extension* set
output_to_server to false if the level is not the *real level* you want to log.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Daniel Gustafsson 2022-05-02 13:14:50 Re: testclient.exe installed under MSVC
Previous Message Ashutosh Bapat 2022-05-02 13:13:20 Re: Add pg_strtoupper and pg_strtolower functions