Re: velog + vereport? - Mailing list pgsql-hackers

From Andres Freund
Subject Re: velog + vereport?
Date
Msg-id 201210121509.29020.andres@2ndquadrant.com
Whole thread Raw
In response to Re: velog + vereport?  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: velog + vereport?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Friday, October 12, 2012 02:48:42 PM Tom Lane wrote:
> Andres Freund <andres@2ndquadrant.com> writes:
> > When writing code which should be able to run inside and outside a normal
> > backend environment its sometimes useful to be able add a wrapper arround
> > elog/ereport for when executing inside the backend.
> > Currently that requires relatively ugly macro surgery and/or recompiling
> > the file. I suggest adding velog/vereport or elog_va/vereport_va to make
> > such wrappers easier (still not easy though).
> 
> Um ... and that accomplishes what?  You wouldn't have velog/vereport
> outside the backend either.  If you were going to clone those in some
> form in the external environment, you might as well clone the existing
> elog infrastructure functions.
The advantage is that if you something velog-ish you can have a function which 
accepts vararg arguments and forwards them.
E.g.
xlogreader->error(ERROR, "...", argument, argument);

Which is a callback using vfprintf(stderr) if running standalone or a callback 
calling vereport().

(obviously you need some more magick to also forward file/line/function, but 
its not too hard)

Greetings,

Andres
-- Andres Freund                       http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: velog + vereport?
Next
From: Tom Lane
Date:
Subject: Re: velog + vereport?