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 23:28:24 GMT

---- Joe Lewis <joe@joe-lewis.com> wrote: 
> On 07/01/2012 01:53 PM, ohaya@cox.net wrote:
> > ---- 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.
> >    
> 
> That does explain things.  Using libcurl in a situation like that 
> before, I ended up using the callback function data as a structure, and 
> you could (in theory) slap the same request_rec pointers into that 
> structure so that you also had them in the call back.
> 
> Aside from that, you are correct, if you don't have access to the 
> request_rec/pool_t structures, ap_log_error works the best, but 
> r->server won't work, either.
> 
> Are you using virtual hosts?  If so, did you check all of the logs?  
> using r->server might behave differently and end up logging messages 
> into a different log file if you have virtual hosts.
> 
> Joe


Hi,

I was thinking about something similar to what you suggested, but I think that, for now, I'll
just use APLOG_NOTICE for the ap_log_error() calls inside the callback.  These would mainly
be for debugging anyway.

Thanks,
Jim

Mime
View raw message