Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

A simple, logging, colorizing, pretty-formatting, HTTP proxy.

Project Description

A simple HTTP proxy server that logs all client/server communications, with some added features to parse the content such as automatic gunzipping, output colorization and known data “pretty” formatting, including XML, JSON, and YAML.

TL;DR

Install:

$ pip install proxylog

Proxy http://www.example.com/ locally to http://localhost:8080/, log all transactions to a file and display them colorized and formatted on the console:

$ proxylog -r www.example.com:80 -p 8080 -o transactions.log -dcf

Display a previous log file colorized and formatted:

$ proxylog -i transactions.log -dcf

Colorizing

The colorizing is done via the Pygments package; proxylog’s --theme option is passed through to pygments, so any of the color themes that pygments supports can be used. Use the following command to list the available themes:

$ pygmentize -L styles

Formatting

“Formatting” refers to proxylog’s ability to re-format known data formats to a more human-friendly display, which when combined with colorization, can yield very readable data. HOWEVER, this does alter the actual data, so if you are using the data in any way, you should not use the “–format” flag.

Currently, the following formats are supported, with examples of how they are “prettified”:

  • XML:

    Input:

    <root  ><node   attr= "value">data</node>
      </root>
    

    Formatted output:

    <root>
      <node attr="value">data</node>
    </root>
    
  • JSON:

    Input:

    {"key": "value", "list": [3, "bar", null, "foo"]}
    

    Formatted output:

    {
      "key": "value",
      "list": [
        3,
        "bar",
        null,
        "foo"
      ]
    }
    
  • YAML:

    Input:

    {key: value, list: [3, bar, null, foo]}
    

    Formatted output:

    {
      "key": "value",
      "list": [
        3,
        "bar",
        null,
        "foo"
      ]
    }
    
Release History

Release History

This version
History Node

0.6

History Node

0.6b

History Node

0.5

History Node

0.4

History Node

0.3.0

History Node

0.3.0b1

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
proxylog-0.6.tar.gz (23.0 kB) Copy SHA256 Checksum SHA256 Source Mar 2, 2014

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting