LWP::DebugFile - routines for tracing/debugging LWP
If you want to see just what LWP is doing when your program calls it, add this to the beginning of your programs source:
use LWP::DebugFile;For even more verbose debug output, do this instead:
use LWP::DebugFile (+);
This module is like LWP::Debug in that it allows you to see what your calls to LWP are doing behind the scenes. But it is unlike LWP::Debug in that it sends the output to a file, instead of to STDERR (as LWP::Debug does).
The options you can use in use LWP::DebugFile (options) are the same as the non-exporting options available from use LWP::Debug (options). That is, you can do things like this:
use LWP::DebugFile qw(+); use LWP::Debug qw(+ -conns); use LWP::Debug qw(trace);The meanings of these are explained in the documentation for LWP::Debug. The only differences are that by default, LWP::DebugFile has cons debugging on, ad that (as mentioned earlier), only non-exporting options are available. That is, you cant do this:
use LWP::DebugFile qw(trace); # wrongYou might expect that to export LWP::Debugs trace() function, but it doesnt work its a compile-time error.
If you dont do anything, the output file (where all the LWP debug/trace output goes) will be in the current directory, and will be named like lwp_3db7aede_b93.log, where 3db7aede is $^T expressed in hex, and b93 is $$ expressed in hex. Presumably this is a unique-for-all-time filename!If you dont want the files to go in the current directory, you can set $LWP::DebugFile::outpath before you load the LWP::DebugFile module:
BEGIN { $LWP::DebugFile::outpath = /tmp/crunk/ } use LWP::DebugFile;Note that you must end the value with a path separator (/ in this case under MacPerl it would be :). With that set, you will have output files named like /tmp/crunk/lwp_3db7aede_b93.log.
If you want the LWP::DebugFile output to go a specific filespec (instead of just a uniquely named file, in whatever directory), instead set the variable $LWP::DebugFile::outname, like so:
BEGIN { $LWP::DebugFile::outname = /home/mojojojo/lwp.log } use LWP::DebugFile;In that case, $LWP::DebugFile::outpath isnt consulted at all, and output is always written to the file /home/mojojojo/lwp.log.
Note that the value of $LWP::DebugFile::outname doesnt need to be an absolute filespec. You can do this:
BEGIN { $LWP::DebugFile::outname = lwp.log } use LWP::DebugFile;In that case, output goes to a file named lwp.log in the current directory specifically, whatever directory is current when LWP::DebugFile is first loaded. $LWP::DebugFile::outpath is still not consulted its value is used only if $LWP::DebugFile::outname isnt set.
If you set the environment variables LWPDEBUGPATH or LWPDEBUGFILE, their values will be used in initializing the values of $LWP::DebugFile::outpath and $LWP::DebugFile::outname.That is, if you have LWPDEBUGFILE set to /home/mojojojo/lwp.log, then you can just start out your program with:
use LWP::DebugFile;and it will act as if you had started it like this:
BEGIN { $LWP::DebugFile::outname = /home/mojojojo/lwp.log } use LWP::DebugFile;
This module works by subclassing LWP::Debug, (notably inheriting its import). It also redefines &LWP::Debug::conns and &LWP::Debug::_log to make for output that is a little more verbose, and friendlier for when youre looking at it later in a log file.
LWP::Debug
Copyright (c) 2002 Sean M. Burke.This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose.
Sean M. Burke sburke@cpan.org
| perl v5.8.5 | LWP::DebugFile (3) | 2004-04-06 |