NAME

    Plack::Middleware::TrafficLog - Log headers and body of HTTP traffic

SYNOPSIS

      # In app.psgi
      use Plack::Builder;
    
      builder {
          enable "TrafficLog", with_body => 1;
      };

DESCRIPTION

    This middleware logs the request and response messages with detailed
    information about headers and body.

    The example log:

      [08/Aug/2012:16:59:47 +0200] [164836368] [127.0.0.1 -> 0:5000] [Request ]
      |GET / HTTP/1.1|Connection: TE, close|Host: localhost:5000|TE: deflate,gzi
      p;q=0.3|User-Agent: lwp-request/6.03 libwww-perl/6.03||
      [08/Aug/2012:16:59:47 +0200] [164836368] [127.0.0.1 <- 0:5000] [Response]
      |HTTP/1.0 200 OK|Content-Type: text/plain||Hello World

    This module works also with applications which have delayed response.
    In that case each chunk is logged separately and shares the same unique
    ID number and headers.

    The body of request and response is not logged by default. For
    streaming responses only first chunk is logged by default.

SEE ALSO

    Plack, Plack::Middleware::AccessLog.

BUGS

    This module has unstable API and it can be changed in future.

    The log file can contain the binary data if the PSGI server provides
    binary files.

    If you find the bug or want to implement new features, please report it
    at http://github.com/dex4er/perl-Plack-Middleware-TrafficLog/issues

    The code repository is available at
    http://github.com/dex4er/perl-Plack-Middleware-TrafficLog

AUTHOR

    Piotr Roszatycki <dexter@cpan.org>

LICENSE

    Copyright (c) 2012, 2014-2015 Piotr Roszatycki <dexter@cpan.org>.

    This is free software; you can redistribute it and/or modify it under
    the same terms as perl itself.

    See http://dev.perl.org/licenses/artistic.html