On 07/01/2012 05:28 PM, oh...@cox.net wrote:
---- Joe Lewis<j...@joe-lewis.com>  wrote:
On 07/01/2012 01:53 PM, oh...@cox.net wrote:
---- Joe Lewis<j...@joe-lewis.com>   wrote:

On 07/01/2012 12:55 PM, oh...@cox.net wrote:

---- oh...@cox.net wrote:


---- oh...@cox.net wrote:


---- Joe Lewis<jle...@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,<oh...@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

Just a suggestion, then.

I'd suggest leaving those calls in, and surround them with #ifdef directives. Then, rather than "removing" them when you finish the product, you simply remove a #define listed at the top and those calls don't get compiled in. Makes it easier to also compile a debug-specific version, too.

Joe
--
http://www.silverhawk.net/

Reply via email to