NAME Plack::Middleware::DebugLogging - Catalyst style console debugging for plack apps VERSION version 0.001000 SYNOPSIS use Plack::Builder; my $app = sub { ... } builder { enable_if { $ENV{PLACK_ENV} eq 'development' } 'DebugLogging'; $app; } curl -XPOST http://0:5000/api/1/2? -d'foo=bar&foo=baz' "POST" request for "/api/1/2" from "127.0.0.1" Request Headers: .-----------------+---------------------------------------------------------------. | Header Name | Value | +-----------------+---------------------------------------------------------------+ | Accept | */* | | Host | 0:5000 | | User-Agent | curl/7.22.0 (i686-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1- | | | zlib/1.2.3.4 libidn/1.23 librtmp/2.3 | | Content-Length | 15 | | Content-Type | application/x-www-form-urlencoded | '-----------------+---------------------------------------------------------------' Response Code: 404; Content-Type: text/plain; Content-Length: unknown Response Headers: .-----------------+---------------------------------------------------------------. | Header Name | Value | +-----------------+---------------------------------------------------------------+ | Content-Type | text/plain | '-----------------+---------------------------------------------------------------' DESCRIPTION This is a refactoring/stealing of Catalyst's useful debugging output for use in any Plack application, sitting infront of a web framework or otherwise. This is ideal for development environments. You probably would not want to run this on your production application. This middleware will use psgix.logger if available in the environment, otherwise it will fall back to printing to stderr. There are a large list of attrs which can be used to control which output you want to see: debug request response request_headers request_parameters response_headers response_status_line keywords uploads body_params query_params NAME Plack::Middleware::DebugLogging - Catalyst style console debugging for plack apps METHODS $self->log_request Writes information about the request to the debug logs. This includes: * Request method, path, and remote IP address * Query keywords (see "query_keywords" in Catalyst::Request) * Request parameters * File uploads $self->log_response Writes information about the response to the debug logs by calling "$self->log_response_status_line" and "$self->log_response_headers". $self->log_response_status_line($response) Writes one line of information about the response to the debug logs. This includes: * Response status code * Content-Type header (if present) * Content-Length header (if present) $self->log_request_parameters( query => {}, body => {} ) Logs request parameters to debug logs $self->log_request_uploads Logs file uploads included in the request to the debug logs. The parameter name, filename, file type, and file size are all included in the debug logs. $self->log_headers($type => $headers) Logs HTTP::Headers (either request or response) to the debug logs. AUTHOR Matthew Phillips COPYRIGHT AND LICENSE This software is copyright (c) 2014 by Matthew Phillips . This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.