httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ruediger Pluem <rpl...@apache.org>
Subject Re: Per module LogLevel configuration
Date Tue, 29 Dec 2009 09:30:55 GMT
On 28.12.2009 18:28, Stefan Fritsch wrote:
> On Monday 28 December 2009, Paul Querna wrote:
>>> You describe the internal arg processing.  Keep in mind that fn
>>> args aren't conditionally processed, they must be created before
>>> being passed to the function.  If we can dodge that with a module
>>> query 'is mod_foo at loglevel debug here?' then we can optimize
>>> this considerably.
>> Yes, see the implementation of the Noit Logger which I linked to,
>>  it uses a Macro to check if a logger is enabled, so you don't have
>>  the function arg prep/frame overhead if a logger isn't enabled.
>>
> 
> This would also make it possible to define the macro in a way that 
> disables debug logging at compile time, just as Bill wanted.
> 
> However, the way reconoiter does it requires variadic macros 
> (http://en.wikipedia.org/wiki/Variadic_macro):
> 
> #define APLOG(file, line, loglevel, server, ...) \
> do { if (server->loglevel >= loglevel) \
>      ap_log_error(file, line, loglevel, server, __VA_ARGS__) \
> } while (0)
> 
> 
> But variadic macros are only part of C99. Is it ok to drop support for 
> older, pre-C99 compilers in httpd?

I think that would cancel support for some platforms (Netware ???).
So IMHO no.

Regards

RĂ¼diger


Mime
View raw message