Обсуждение: EmitWarningsOnPlaceholders is too quiet
I notice that EmitWarningsOnPlaceholders produces its warning messages
at elog level INFO, which makes it nearly useless for bogus custom
variable settings for a preloaded module: the only place such a module
can warn is in the postmaster log, but INFO is too low to go into the
postmaster log by default.
Perhaps we should use WARNING instead?
(I'm actually kind of wondering what the INFO elog level is good for,
as this is just about the only use and it seems wrong.)
regards, tom lane
Tom Lane wrote: > I notice that EmitWarningsOnPlaceholders produces its warning messages > at elog level INFO, which makes it nearly useless for bogus custom > variable settings for a preloaded module: the only place such a module > can warn is in the postmaster log, but INFO is too low to go into the > postmaster log by default. > > Perhaps we should use WARNING instead? > > (I'm actually kind of wondering what the INFO elog level is good for, > as this is just about the only use and it seems wrong.) +1 for one less logging level. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + If your life is a hard drive, Christ can be your backup. +
Bruce Momjian <bruce@momjian.us> writes:
> Tom Lane wrote:
>> (I'm actually kind of wondering what the INFO elog level is good for,
>> as this is just about the only use and it seems wrong.)
> +1 for one less logging level.
I rememebered what INFO is for: it's the elevel that VACUUM VERBOSE
uses to ensure that its output gets seen at the client. (I missed
that in my first grep because vacuum's elog/ereport calls don't use
INFO as a hard-wired elevel.) So we probably can't get rid of it.
But that makes it even more clear IMHO that EmitWarningsOnPlaceholders
shouldn't be using it. It's not intended for error/warning types of
uses, but for verbose logging.
regards, tom lane
I wrote:
> I rememebered what INFO is for: it's the elevel that VACUUM VERBOSE
> uses to ensure that its output gets seen at the client. (I missed
> that in my first grep because vacuum's elog/ereport calls don't use
> INFO as a hard-wired elevel.) So we probably can't get rid of it.
> But that makes it even more clear IMHO that EmitWarningsOnPlaceholders
> shouldn't be using it. It's not intended for error/warning types of
> uses, but for verbose logging.
After a more careful grep, here are all the uses of INFO elog level:
VACUUM/ANALYZE/CLUSTER VERBOSE
NOTIFY, in a standalone backend
guc.c's set_config_option, to bleat about bad config settings obtained fromALTER USER or ALTER DATABASE during
connectionstartup
guc.c's EmitWarningsOnPlaceholders, to bleat about bad custom variables
Also, most of the PLs have ways for users to emit messages at INFO
elevel, but whether a user uses that in a consistent way is not our
problem.
I'm of the opinion that guc.c is in error here, and what it should be
using for its purposes is WARNING. Objections?
regards, tom lane