Skip to main content

Prism – Colourise log files (with ANSI characters codes)

Project description

A command line log colouriser utility.

Installation

From Python package index (Pypi):

(sudo) pip install logprism

Optionally with watchdog:

(sudo) pip install logprism[watchdog]

or from Github:

(sudo) pip install watchdog # optional

git clone https://github.com/peterhil/prism.git

cd prism

(sudo) python setyp.py install

Dependencies

All dependencies can be installed with pip, usually by:

pip install some-package

Required (automatically handled by pip):

  • ordereddict (if using Python 2.6)

Optional (install manually with pip):

  • watchdog (watch files and directories with the -w option. Recommended for Python 2.x only – doesn’t work with Python 3)

Developers only:

  • pytest (test framework)

  • tox (continuous integration)

Usage examples

Colourise stdin:

tail -f /opt/local/var/log/couchdb/couch.log | prism

Grep some logs for messages with levels:

prism -g /var/log/*.log

Combine with grep command to find just specific levels:

grep -iE ‘(warn|error)’ /var/log/*.log | prism -g

Match multiple log levels per line:

prism -m /var/log/apache2/vhost*log

prism -m <(echo “Dribble me a debug or info lest I notice no create nor alter nor drop of your critical tables.”)

Watch for a whole directory of logs for changes (and new files):

prism -m -w /opt/local/var/log/nginx/

Some programs output normally to stderr, grab that output for prism:

python run.py 2>&1 | prism

Test

Run unit tests:

python setup.py test

Run continuous integration with tox (from an activated virtualenv, use tox -r to recreate CI envs):

tox

Todo

  • Show some tail lines when using -w: Make a line cache (count total lines with wc -l) from the end of the file using some blocksize.

    1. Can be done with readlines() first. Then seek and read blocksize bytes from len(file)-blocksize and update cache.

    2. Later enable ncurses scrolling for earlier lines?

    3. Show n lines by default (a screenful / filecount?)

https://img.shields.io/pypi/v/logprism.svg https://img.shields.io/pypi/dm/logprism.svg https://img.shields.io/pypi/l/logprism.svg

Project details


Download files

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

Source Distribution

logprism-0.2.0.tar.gz (9.2 kB view hashes)

Uploaded Source

Built Distribution

logprism-0.2.0-py3-none-any.whl (11.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page