httpd-modules-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From <oh...@cox.net>
Subject Re: "Best practices" or recommendations for logging from a module?
Date Sun, 01 Jul 2012 19:53:46 GMT

---- Joe Lewis <joe@joe-lewis.com> wrote: 
> On 07/01/2012 12:55 PM, ohaya@cox.net wrote:
> > ---- ohaya@cox.net wrote:
> >    
> >> ---- ohaya@cox.net wrote:
> >>      
> >>> ---- Joe Lewis<jlewis@silverhawk.net>  wrote:
> >>>        
> >>>> Jim, you could use the log_error funtion all the time. Log_perror javits
> >>>> logging associated with a pool, and log_rerror is for requests. If
> >>>> possible, use log_rerror, because it puts the up address, etc into the
logs.
> >>>>
> >>>> Joe
> >>>> On Jul 1, 2012 10:56 AM,<ohaya@cox.net>  wrote:
> >>>>
> >>>>          
> >>>
> >>> Joe,
> >>>
> >>> Thanks!
> >>>
> >>> Jim
> >>>        
> >>
> >> Hi,
> >>
> >> Oh, oh :(.
> >>
> >> I'm using:
> >>
> >> ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, NULL,<my message>);
> >>
> >> all over the place, and even though I have only one LogLevel in the httpd;conf,
at the top level, set to "debug", I don't see those messages.
> >>
> >> The only ones I see are the ones that use APLOG_NOTICE.
> >>
> >> Why is this?  I thought that with LogLevel set to debug, that I should see all
level msgs output using ap_log_error?
> >>
> >> Thanks,
> >> Jim
> >>
> >>      
> >
> > Hi,
> >
> > I think that I've found out why I'm not seeing those log messages.  Apparently,
if the server parameter is NULL, only APLOG_NOTICE message appear except for during startup.
> >
> > So, I have use a server for that parameter, e.g. r->server, BUT, in some cases,
e.g., in a function like the response callback for libcurl, where the signature is pre-defined,
and where there is no request_rec or server_rec among the parameters, how can I get ap_log_error
to output anything (other than APLOG_NOTICE) messages?
> >
> > Thanks,
> > Jim
> >    
> Again, if you have access to a request_rec structure, I'd use 
> ap_log_rerror.  Otherwise, use ap_log_perror.  Those have a better 
> consistency with logging, e.g. :
> 
> ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, requestrec, "uri = %s",r->uri);
> ap_log_perror(APLOG_MARK, APLOG_DEBUG, 0, pool, "creating config");
> 
> Joe


Hi,

I think that I'm not explaining the problem that I have very clearly :(...

Per earlier thread, I'm using libcurl to make an HTTP GET request from my module.  

In order that my module can access the response to that GET request, I had to use a write
callback function tha allows curl to t make the response available to my code.

The signature for that function is:

size_t static write_callback_func(void *buffer,
                        size_t size,
                        size_t nmemb,
                        void *userp)

Curl doesn't "know" anything about the Apache structures like the server, pool, etc. and from
that signature, there isn't a way to for my code to pass any of that through to the call back
function, and since I can't do that, there doesn't seem to be a way that I can get any of
the ap_log_xxx() functions to actually output anything to the Apache error log.

Hopefully, that's clearer explanation of the problem?

Jim


Mime
View raw message