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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file logprism-0.2.0.tar.gz.

File metadata

  • Download URL: logprism-0.2.0.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.14

File hashes

Hashes for logprism-0.2.0.tar.gz
Algorithm Hash digest
SHA256 1a6951cb16e7b3d5d6b5517a23d4895d101b7b469a277f7f7b25cc497d770c84
MD5 4e93c2e3d5f9bbdaf8fd597efee1897f
BLAKE2b-256 596663389445372bd0e5132409884da0364d667885d1e41eb24c3d59cf0f8e39

See more details on using hashes here.

File details

Details for the file logprism-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: logprism-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 11.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.14

File hashes

Hashes for logprism-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d5fbe7db2892de0b59fb43a2bdb6a4077270a8d0802d3eb18d4f6cfc50fab7f0
MD5 a5b979e6cdea4cbfed5c1c1278714c62
BLAKE2b-256 6064e653e0cb16b816d7e86d5ac27386939c97b1c64549fe320dbcfb2b1f15a8

See more details on using hashes here.

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