Skip to main content

A module to pretty-print outputs for command-line programs.

Project description

cli_logger

Easy logger for python command line programs using click.

What it does

Use this script in your programs to get pretty-printed messages printed to STDOUT. To see what it does, just execute the script in test_manuell (which does not contain a unit test, but a script to see what it does.

Here's a screenshot: screenshot of script test_logger.py

It comes with these features:

  • Setting a severity level, to hide non-relevant / verbouse output.
  • Printing text at level Debug, Information, Warning and Error.
  • Retrieve a return code in case a warning (1) or an error (2) has been raised.
  • Configurable progress bar.

How to use

Program initialisation

At program initialisation, use set_minimum_severity_level to decide from which level and above messages should be printed.

Level Rank MessageClass= Description
1 Lowest DEBUG Information helping to understand the program flow or to search for errors. Of course, developers might use debuggers, but consider a productive use where debugging is not possible.
2 INFORMATION Default level. Information to the user that does not require to intervent.
3 WARNING Hint that something hasn't been as expected. Results might be erreneous.
4 Highest ERROR Something went wrong and it wasn't possible to resolve the situation.

Program execution

Print to the screeneee

Use debug('my message'), information('my message'), warning and error to create output. log, information, set_minimum_severity_level, error, debug, warning, returnCode,

Print a progress bar

printProgressBar

Program termination

Retrieve a return code returnCode() which indicates if a warning or error has been issued. For sure, a discussion could be opened wether this is a good method or wether exceptions would suit better.

Rules to create a return code (last verified rule wins):

Event Return Code
Only messages of type DEBUG or INFORMATION have been issued. 0
At least one WARNING has been issued. 1
At least one ERROR has been issued. 2

Installation

The code has been published on PyPi. To install, just use the command pip --install cli-logger.

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

cli_logger-1.0.1.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cli_logger-1.0.1-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

Details for the file cli_logger-1.0.1.tar.gz.

File metadata

  • Download URL: cli_logger-1.0.1.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.1

File hashes

Hashes for cli_logger-1.0.1.tar.gz
Algorithm Hash digest
SHA256 fb8f56e32ab499e9105c684d8965fb5dd6102f11deaf5bfb9a53b066797d8381
MD5 1aea4d4e9fdcdd6a1c096c782e6c586c
BLAKE2b-256 641151563aefcea474ef7f99dcd6fbf4f61f5a7ee5c05a45f27f3691dca08804

See more details on using hashes here.

File details

Details for the file cli_logger-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: cli_logger-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 4.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.1

File hashes

Hashes for cli_logger-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2c0e191b2c89d16c9f90d8760badee1fb3a7c600090a79c435c3ef55b4aeff4e
MD5 0f87131479714ffce879aac09766b1f0
BLAKE2b-256 28c639691e205bdbbf19a5854d22b0e51fd81c9a23c4611f145f4984aff596df

See more details on using hashes here.

Supported by

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