SYNOPSIS

     use LWP::UserAgent::Patch::LogResponse
         -log_response_header  => 1, # default 1
         -log_response_body    => 1, # default 0
         -decode_response_body => 1, # default 1, turn off, e.g. to get raw gzipped content
     ;
    
     # now all your LWP HTTP responses are logged

    Sample script and output:

     % TRACE=1 perl -MLog::Any::App -MLWP::UserAgent::Patch::LogResponse \
       -MLWP::Simple -e'get "http://localhost:5000/"'
     [261] HTTP response header:
     200 OK
     Date: Mon, 20 Aug 2012 07:47:46 GMT
     Server: HTTP::Server::PSGI
     Content-Length: 13
     Content-Type: text/plain
     Client-Date: Mon, 20 Aug 2012 07:47:46 GMT
     Client-Peer: 127.0.0.1:5000
     Client-Response-Num: 1

DESCRIPTION

    This module patches LWP::UserAgent (which is used by LWP::Simple,
    WWW::Mechanize, among others) so that HTTP responses are logged using
    Log::Any.

    Response body is logged in category LWP_Response_Body.* so it can be
    separated. For example, to dump response body dumps to directory
    instead of file:

     use Log::Any::App '$log',
        -category_level => {LWP_Response_Body => 'off'},
        -dir            => {
            path           => "/path/to/dir",
            level          => 'off',
            category_level => {LWP_Response_Body => 'trace'},
        };

FAQ

 Why not subclass?

    By patching, you do not need to replace all the client code which uses
    LWP (or WWW::Mechanize, etc).

SEE ALSO

    Use Net::HTTP::Methods::Patch::LogRequest to log raw HTTP requests
    being sent to servers.

